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

水果配送网站建设河北沧州最新消息

水果配送网站建设,河北沧州最新消息,h5长图模板,怎么申请网站域名赚钱最近在学习完 springcloud 微服务架构之后#xff0c;自己用了之前的一个项目计划拆分成微服务的项目#xff0c;第一阶段要求整合 nacos#xff0c;RPC以及gateWay#xff0c;首先来看一下几个技术组件的概念 RPC RPC 框架 —— 远程过程调用协议RPC#xff08;Remote …最近在学习完 springcloud 微服务架构之后自己用了之前的一个项目计划拆分成微服务的项目第一阶段要求整合 nacosRPC以及gateWay首先来看一下几个技术组件的概念 RPC RPC 框架 —— 远程过程调用协议RPCRemote Procedure Call Protocol—— 允许像本地服务一样调用远程服务 RPC是指远程过程调用也就是说两台服务器 AB一个应用部署在 A 服务器上想要调用 B 服务器上应用提供的函数 / 方法由于不在一个内存空间不能直接调用需要通过网络表达调用的语义和传达的调用的数据那么有一下几个问题 第一首先要解决服务之间的通信问题主要通过客户端和服务之间建立 TCP 连接远程过程调用的所有交换的数据都在这个连接里传输。连接可以是按需连接调用结束后就断掉也可以是长连接多个远程过程调用共享一个连接。 第二要解决寻址问题也就是说A 服务器上的应用怎么告诉底层 RPC 框架如何连接到 B 服务器以及特定端口这样才能完成调用。 第三当 A 服务器上的应用发起远程调用时方法的参数需要通过底层的网络协议如 TCP 传递到 B 服务器由于网络协议是基于二进制的内存中的参数的值要序列化成二进制的形式也就是序列化或编组通过寻址和传输将序列化的二进制发送给 B 服务器。 第四B 服务器收到请求后需要对参数进行反序列化序列化的逆操作恢复内存中的表达方式然后找到对应的方法寻址的一部分进行本地调用然后得到返回值。 第五返回值还要发送回服务器 A 上的应用也要经过序列化的方式发送服务器 A 接到后在反序列化恢复为内存中的表达方式交给服务器上的应用 nacos Nacos 是 SpringcloludAlibaba 架构中的重要组件是一个更易于帮助构建云原生应用的动态服务发现配置和服务管理平台提供注册中心等功能在服务中配置好 nacos 之后可以在页面中可视化的监控到服务具体 nacos 可以参考官方文档 nacos官方文档 gateWay 在 微服务 架构中服务的粒度被进一步细分各个业务服务可以被独立的设计、开发以及管理。这时各个独立部署单元可以用不同的开发测试团队维护可以使用不同的编程语言和技术平台进行设计这就要求必须使用一种语言和平台无关的服务协议作为各个单元间的通讯方式 API 网关的定义 网关的角色是作为一个 API 架构用来保护、增强和控制对于 API 服务的访问。API 网关是一个处于应用程序或服务之前的系统用来管理授权访问控制和流量限制等这样 REST API 接口服务就被 API 网关保护起来对所有的调用者透明。因此隐藏在 API 网关后面的业务系统就可以专注于创建和管理服务而不用去处理这些策略性地基础设施 最重要地几个概念 具体在项目中的实施 第一步 分析项目拆分模块 我们首先将项目进行模块化的划分划分如下 electronic-admin —— 业务管理员模块 electronic-common —— 系统公共模块 electronic-data —— 业务数据大屏模块 electronic-gateway —— GateWay 路由网关 electronic-openid —— 业务微信模块 electronic-praise —— 业务祝福模块 electronic-healthinfo —— 业务健康码模块 electronic-student —— 业务用户模块 第二部 编写配置文件启动各个模块 编写 yml 配置文件 业务模块 server:port: 8985 # 模块端口号max-http-header-size: 20480 spring:application:name: API-XXXX # 模块名称此模块名称将会在 nacos 中显示出来cloud:nacos:server-addr: xx.xx.xx.142:8848 # nacos 配置服务地址datasource:type: com.alibaba.druid.pool.DruidDataSource # 连接数据库driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/xxxxxx?serverTimezoneAsia/ShanghaicharacterEncodingutf8useSSLfalseallowPublicKeyRetrievaltrueusername: rootpassword: ******上面是最基本的业务模块的配置 gateWay 网关 yml 配置 server:port: 8096spring:application:name: API-GATEWAYcloud:nacos:server-addr: xx.xx.xx.142:8848 # 将网关注册到 nacosgateway:routes:- id: admin_routeruri: lb://API-ADMIN # 管理员模块predicates:- Path/api/admin/**filters:- id: data_routeruri: lb://API-DATA # 数据大屏模块predicates:- Path/api/ScreenData/**filters:- id: student_routeruri: lb://API-STUDENT # 用户模块predicates:- Path/api/students/**, /api/studentsFeign/**filters:- id: student_routeruri: lb://API-HEALTH # 健康码模块predicates:- Path/api/health/**filters:解释 url使用 uri 是为了匹配后提供服务的路由地址我们将所有的服务注册到 nacos 之后通过访问接口 gateWay 就会在nacos 找到对用的服务进行转发 predicates断言路径相匹配的进行路由这是必须要添加的配置 通过配置 gateWay最明显的感受就是我们有多个微服务那么就会对应多个端口号在请求接口时如果不配置 gateWay 那么端口号就太多太多不利于管理。配置 gateWay 服务之后就可以进行统一管理gateWay 暴露一个端口然后进行转发只需要请求gateWay暴露的端口号即可。 服务间的通信 服务间的通信有多种方式比如 restemplateopenFeigndubbo等本次使用的是 OpenFeign。 在开发过程中我们很大程度上需要服务之间的通信接下来看实现方式 第一步 引入openfeign 依赖 !--openfeign-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency使用 openfeign 需要在服务的启动类上开启 openfeign 使用注解 EnableFeignClients 这里我们通过 数据大屏 与 用户 之间的通信演示 假设数据大屏中要显示 最近 num 条的用户注册的数据 Data 大数据模块 Controller 层 GetMapping(/recentData) public ResponseResultListRecentRegisterDataDto getRecentData(RequestParam(defaultValue 0) int num ){ListRecentRegisterDataDto studentsServiceRecentData studentsService.findRecentData(num);return ResponseResult.ok(studentsServiceRecentData);}FeignStudentFeign —— 这个可以写在了 service 层 Component FeignClient(value API-STUDENT) // 表明是哪个服务的接口 public interface StudentsService {GetMapping(/api/studentsFeign/recentData)ListRecentRegisterDataDto findRecentData(RequestParam(num) int num); }学生用户模块 在此模块中我们只需要给其开发一个接口即可 GetMapping(recentData) public ListRecentRegisterDataDto findRecentData(RequestParam(num) int num) {return studentsFeignService.findRecentData(num); }通过这样的方式就可以实现两个模块之间的通信在模块通信的过程中如果有基本类型参数就需要加上 RequestParam 注解如果参数是对象的形式使用 RequestBody 注解 最基本的将微服务系统正常启动起来就以上所属。
http://www.hkea.cn/news/14288291/

相关文章:

  • 网站模板代理电话ui设计师工作流程
  • 上什么网站做会计教育网站如何做银联在线支付
  • 网站建设的意义是什么怎么做网站或APP
  • 招投标网站建设开发百度电脑版下载安装
  • 网站的下拉列表怎么做的苏州外贸网站建设
  • 德阳网站优化wordpress cenos
  • 如何提高网站seo排名保定市城市规划建设局网站
  • 公司免费招聘网站游戏制作软件中文版下载
  • 网站发文超链接怎么做备案价格网站
  • 用旧电脑做网站商洛建设公司网站
  • 造价人员做兼职的网站淄博亿泰
  • 网站建设工作方案范文wordpress页面功能
  • 企业网站建设推广合同转运公司网站制作
  • 线上做笔记的网站微信公众号做微网站
  • 网站建设的SOWT分析精准引流推广平台
  • 汕头网站备案免费建站软件
  • 小区服务网站怎么做想在百度上做网站
  • 阿里巴巴国际站网页设计教程开店铺的流程
  • 视频分享网站开发wordpress 安装主题慢
  • 门户网站报价有什么网站可以做家装
  • 盐都区城乡建设局网站创立个网站专业卖手机
  • 自己做网站 需要会什么6长沙官网网站建设
  • 系统官网网站模板下载安装企业培训机构网站源码
  • 新农村建设官方网站做服务器的网站都有哪些功能
  • 模板式自助建站芜湖市住房和城乡建设厅网站
  • 哪些网站是react做的wordpress不能登录后台
  • dw设计个人网页河源市seo点击排名软件价格
  • 网站源码下载网国外注册的域名国内能用吗
  • 网站开发英文学网站开发的总结
  • 小说网站的里面的搜索是怎么做的建设人员查询平台