当前位置: 首页 > news >正文

全屏企业网站北京软件外包

全屏企业网站,北京软件外包,net网站阿里云主机配置,自助网站制作一#xff0c;项目总体介绍 在本项目中#xff0c;我将使用alibabba的 nacos 作为项目的注册中心#xff0c;使用 spring cloud gateway 做为项目的网关#xff0c;用 openfeign 作为服务间的调用组件。 项目总体架构图如下#xff1a; 注意#xff1a;我的Java环境是17…一项目总体介绍 在本项目中我将使用alibabba的 nacos 作为项目的注册中心使用 spring cloud gateway 做为项目的网关用 openfeign 作为服务间的调用组件。 项目总体架构图如下 注意我的Java环境是17下面的pom 中默认的是1.8大家可以自己修改一下 在这里我使用了mysql 的主从复制当然你怎么用都可以取决于你的项目或者使用 canal 更加方便当然后续我也会使用canal同步数据解决缓存一致性问题nginx这里我会使用openresty至于介绍和安装请看 openresty安装 1.1、组件介绍、安装 nacos 1.1.1、介绍 动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要让配置管理变得更加高效和敏捷。配置中心化管理让实现无状态服务变得更简单让服务按需弹性扩展变得更容易。Nacos 提供了一个简洁易用的UI (控制台样例 Demo) 帮助您管理所有的服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。官网介绍地址官网 1.1.2、安装 这里使用 docker 安装 docker 不会安装的看我“微服务监控”第五章 1.1.2.1、docker 镜像拉取 docker pull nacos/nacos-server1.1.2.2、创建挂载目录 mkdir -p /mydata/nacos/logs/ #新建logs目录mkdir -p /mydata/nacos/conf/ #新建conf目录1.1.2.3、启动容器拷贝文件 docker run -p 8848:8848 --name nacos -d nacos/nacos-server复制文件 docker cp nacos:/home/nacos/logs/ /mydata/nacos/docker cp nacos:/home/nacos/conf/ /mydata/nacos/删除容器 docker rm -f nacos1.1.2.4、mysql 中创建 nacos 所需要的库 nacos-config随意 在拷贝的 conf 文件夹下会有 mysql 的 sql 文件执行一下就 OK 了 docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849--privilegedtrue -e JVM_XMS1g -e JVM_XMX2g -e MODEstandalone-v /mydata/nacos/logs/:/home/nacos/logs -v /mydata/nacos/conf/:/home/nacos/conf/--restartalways nacos/nacos-server参数介绍 1、docker run -d 启动容器 -d是后台启动并返回容器id的意思 2、–name nacos 为容器指定一个名称 3、-p 8848:8848 -p 9848:9848 -p 9849:9849 指定端口映射注意这里的p不能大写大写是随机端口映射 4、–privilegedtrue 扩大容器内的权限将容器内的权限变为root权限不加的话就是普通用户权限可能会出现cannot open directory 5、-e JVM_XMS1g 为jvm启动时分配的内存 6、-e JVM_XMX2g 为jvm运行过程中分配的最大内存 7、-e MODEstandalone 使用 standalone模式单机模式,MODE值有cluster集群模式/standalone模式两种MODE必须大写 8、-v /mydata/nacos/logs/:/home/nacos/logs : 将容器的/home/nacos/logs目录挂载到 /mydata/nacos/logs 9、-v /mydata/nacos/conf/:/home/nacos/conf/ 将容器的/home/nacos/conf目录挂载到 /mydata/nacos/conf 10、–restartalways 重启docker时自动启动相关容器 注意开放端口 8848 9848 9849 1.1.2.4、修改配置文件(宿主机) vim /mydata/nacos/conf/application.propertiesspring.datasource.platformmysqldb.num1db.url.0jdbc:mysql://localhost:3306/nacos-config?characterEncodingutf8connectTimeout1000socketTimeout30000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTCdb.userrootdb.passwordroot重启 nacos 容器 docker restart nacos安装 nacos 搞定 其他组件在使用到时会介绍 二、项目创建 2.1、在 idea 中创建一个 spring 项目删除 src 作为聚合目录这个就不过多赘述 接下来看 pom 文件的配置 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.siyu/groupIdartifactIdstudy/artifactIdversion0.0.1-SNAPSHOT/versionnamestudy/name!--描述--descriptionstudy/description!-- 子模块 这里你有那些子模块就有那些 moudle--modulesmodulecommon-api/modulemodulecommon-utils/modulemoduleservice/modulemodulegateway/module/modules!-- 打包方式--packagingpom/packaging!-- 属性配置 spring boot spring cloud spring cloud alibaba 版本一定要兼容否则会失败--propertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-boot.version3.0.2/spring-boot.versionspring-cloud-alibaba.version2022.0.0.0/spring-cloud-alibaba.versionspring-cloud.version2022.0.0/spring-cloud.version/properties!--包管理--dependencyManagementdependencies!-- spring boot 版本管理 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency!-- spring cloud alibaba 版本管理 --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/versionconfigurationmainClasscom.siyu.StudyApplication/mainClassskiptrue/skip/configurationexecutionsexecutionidrepackage/idgoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build/project 2.2、版本对应详情 在这里我给出版本对应截图一定要版本对应哦不然不兼容会报错 2.3、创建二级聚合模块 创建子模块 file —— new —— Module—— spring 脚手架创建就可以创建完成后你可以删掉 src作为二级聚合 子模块创建完毕后我们看一下pom我这里做了二级聚合在这里贴一下我的项目结构如图 首先我们看看sercvie 的 pom ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.siyu/groupIdartifactIdservice/artifactIdversion0.0.1-SNAPSHOT/versionnameservice/name!--描述--descriptionservice/description!--打包方式--packagingpom/packaging!--子模块--modulesmoduleuser-service/modulemodulehomework-service/modulemodulestudent-service/module/modules!--父模块--parentgroupIdcom.siyu/groupIdartifactIdstudy/artifactIdversion0.0.1-SNAPSHOT/version/parent!--版本--propertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-boot.version3.0.2/spring-boot.version/propertiesdependencies!--spring boot web--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--测试包--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!--Java 连接 mysql jar--dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactId/dependency!--mybatis plus--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.3/version/dependency!--openfeign--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency!--nacos discovery--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactIdexclusionsexclusiongroupIdcom.alibaba.nacos/groupIdartifactIdnacos-client/artifactId/exclusion/exclusions/dependency!--nacos config--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactIdexclusionsexclusiongroupIdcom.alibaba.nacos/groupIdartifactIdnacos-client/artifactId/exclusion/exclusions/dependency!--nacos 客户端--dependencygroupIdcom.alibaba.nacos/groupIdartifactIdnacos-client/artifactIdversion2.3.2/version/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/versionconfigurationmainClasscom.siyu.service.ServiceApplication/mainClassskiptrue/skip/configurationexecutionsexecutionidrepackage/idgoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build/project2.4、创建子模块 创建过程和上面创建方式一样不过多赘述。看看 user-service 的 pom ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.siyu/groupIdartifactIduser-service/artifactIdversion0.0.1-SNAPSHOT/versionnameuser-service/name!--描述--descriptionuser-service/description!--父模块--parentgroupIdcom.siyu/groupIdartifactIdservice/artifactIdversion0.0.1-SNAPSHOT/version/parent!--版本--propertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-boot.version3.0.2/spring-boot.version/propertiesdependencies!-- user-api 在common-api中主要定义entity 和 feign接口 --dependencygroupIdcom.siyu/groupIdartifactIduser-api/artifactIdversion0.0.1-SNAPSHOT/version/dependency!--common-utils 主要定义一些公共工具--dependencygroupIdcom.siyu/groupIdartifactIdcommon-utils/artifactIdversion0.0.1-SNAPSHOT/versionscopecompile/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/versionconfigurationmainClasscom.siyu.UserServiceApplication/mainClassskipfalse/skip/configurationexecutionsexecutionidrepackage/idgoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build/project看看 appliction.yml (后期会迁移到 nacos) server:port: 8080 spring:config:import: nacos:user-service.yaml # nacos 中的配置文件application:name: user-service #服务名cloud:nacos:discovery:server-addr: ip:8848 #nacos地址config:server-addr: ip:8848import-check:enabled: falsefile-extension: yaml # nacos 配置文件类型datasource: # datasource 不过多解释driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://ip:33061/study?serverTimezoneAsia/ShanghaicharacterEncodingutf8useUnicodetrueuseSSLfalseallowPublicKeyRetrievaltruepassword: rootusername: root # mybatis plus 不过多解释 mybatis-plus:mapper-locations: classpath:/mapper/**/*.xmltype-aliases-package: com.siyu.entityglobal-config:db-config:id-type: autologic-delete-value: 1 # 逻辑已删除值(默认为 1)logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)configuration:map-underscore-to-camel-case: truecache-enabled: false接下来看看启动类 UserServiceApplication.java EnableDiscoveryClient //启动服务发现nacos EnableFeignClients // 启动 openfeign SpringBootApplication MapperScan(basePackages com.siyu.mapper) public class UserServiceApplication {public static void main(String[] args) {SpringApplication.run(UserServiceApplication.class, args);}}2.5、创建common-api 创建过程一样不做过多介绍删掉启动类这个模块不需要启动一起看看 common-api 的目录结构 看看 common-api 的 pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.siyu/groupIdartifactIdcommon-api/artifactIdversion0.0.1-SNAPSHOT/versionnamecommon-api/namedescriptioncommon-api/descriptionpackagingpom/packagingparentgroupIdcom.siyu/groupIdartifactIdstudy/artifactIdversion0.0.1-SNAPSHOT/version/parentmodulesmoduleuser-api/modulemodulehomework-api/module/modulespropertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-boot.version3.0.2/spring-boot.version/propertiesdependenciesdependencygroupIdcom.siyu/groupIdartifactIdcommon-utils/artifactIdversion0.0.1-SNAPSHOT/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.3/version/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/versionconfigurationskiptrue/skip/configurationexecutionsexecutionidrepackage/idgoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build/project2.6、feign接口编写 创建 feign接口 package com.siyu.feign;import com.siyu.util.Result; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping;FeignClient(name homework-service) //微服务服务名 public interface HomeWorkFeign {GetMapping(homework/list) // 要访问的微服务路径和请求方式Result getHomeworkList(); // 方法名和返回结果 }调用 feign 接口 RestController RequestMapping(user) public class UserController {Autowiredprivate UserService userService;Autowiredprivate HomeWorkFeign homeWorkFeign; // 导入feign 接口GetMapping(/{id})public ResultObject getUserById(PathVariable(id) Integer id){return Result.ok(查询成功,userService.getById(id));}GetMapping(/list)public ResultObject getUserById(){return Result.ok(查询成功,homeWorkFeign.getHomeworkList()); //调用feign 接口} }2.7、网关 gateway 模块 首先创建一个gateway模块 要注意的是不要导入 spring boot we 包具体原因就不解释了自行了解 看看 pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.siyu/groupIdartifactIdgateway/artifactIdversion0.0.1-SNAPSHOT/versionnamegateway/namedescriptiongateway/descriptionparentgroupIdcom.siyu/groupIdartifactIdstudy/artifactIdversion0.0.1-SNAPSHOT/version/parentpropertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-boot.version3.0.2/spring-boot.version/propertiesdependencies!--网关--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependency!--服务注册与发现依赖--dependencygroupIdcom.alibaba.cloud /groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactIdexclusionsexclusiongroupIdcom.alibaba.nacos/groupIdartifactIdnacos-client/artifactId/exclusion/exclusions/dependency!--nacos 客户端--dependencygroupIdcom.alibaba.nacos/groupIdartifactIdnacos-client/artifactIdversion2.3.2/version/dependency!--负载均衡--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/versionconfigurationmainClasscom.siyu.gateway.GatewayApplication/mainClassskiptrue/skip/configurationexecutionsexecutionidrepackage/idgoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build /project看看 gateway 的 application.yml server:port: 8088spring:application:name: gateway # 服务名称cloud:nacos:discovery:server-addr: ip:8848gateway:discovery:locator:enabled: falseroutes: # 网关路由配置- id: user-service # 路由id, 自定义唯一即可uri: lb://user-service # 路由的目的地lb是负载均衡后面跟服务名称predicates: # 路由断言也就是判断是否符合路由规则的条件- Path/user-service/** # path 按照路径进行匹配只要以/order-service/开头就符合规则filters:- StripPrefix1 # 过滤器去除请求的前缀路径StripPrefix1 表示去除请求路径的第一个路径片段- id: homework-serviceuri: lb://homework-servicepredicates:- Path/homework-service/**filters:- StripPrefix1在注释里基本都有详细的解释这里就不过多赘述 在这里我们给大家贴一张nacos的截图服务注册列表 至此项目搭建就完毕了
http://www.w-s-a.com/news/770557/

相关文章:

  • wordpress模板电子书下载站微信app官方免费下载
  • 从哪些方面进行网站建设如何做网站的实时画面
  • 设计网站公司收费西安小程序开发公司有哪些
  • 如何建网站赚取佣金哪个网站可以做免费宣传
  • 万网手机网站seo方法
  • 免费制作网站app百度首页纯净版
  • 支持api网站开发wordpress排版Markdown
  • 赤峰做网站的logo设计软件在线制作
  • iis网站批量导入苏州最新新闻事件今天
  • 甘肃省住房和城乡建设厅注册中心网站首页沈阳专业关键词推广
  • 网站怎么能在百度搜到网站开发费怎么做会计分录
  • 嘉定专业网站制作公司七星彩网站开发
  • 网站建设人员培训企业网站开发模型图
  • 自己开发一个网站应该怎么做国外设计网站 绿色的
  • 南昌外贸网站设计推广任务发布平台app
  • 建立网站成本书店网站建设可行性分析
  • 高端网站设计官网乌海学校网站建设
  • 哪些网站适合新手编程做项目优秀网页设计赏析
  • 永州网站seo德阳网站建设优化
  • 网站建设高端网站本地建设网站软件下载
  • 网站后台账号密码破解杭州酒店网站设计公司推荐
  • 和县网站开发秦皇岛建设工程信息网站
  • 国外网站用什么dns好建一个下载网站要什么cms系统
  • 礼品工艺品网站建设手机做网站哪家好
  • 泉州网站建设方案维护怎样选择网站建设
  • 江苏建站速度忿先进的网站建设
  • 广州天河建站公司com域名注册多少钱
  • 成都网站建设推广好vs2013如何做网站
  • 茶叶网站建设模板企业网站备案要多少钱
  • 怎么查网站找谁做的win主机伪静态规则 wordpress