写作网站六大神书,asp.net网站建设,宁波网站建设哪里便宜,门户网站为什么衰落SpringCloud组成 服务注册与发现#xff1a;consul 阿里Nacos 服务调用和负载均衡#xff1a;OpenFeign LoadBalance 分布式事务#xff1a;阿里Seata 服务熔断和降级:阿里Sentinel Circuit Breaker 服务链路追踪#xff1a;Micrometer Tracing 服务网关#xff1a;GateWa… SpringCloud组成 服务注册与发现consul 阿里Nacos 服务调用和负载均衡OpenFeign LoadBalance 分布式事务阿里Seata 服务熔断和降级:阿里Sentinel Circuit Breaker 服务链路追踪Micrometer Tracing 服务网关GateWay 分布式配置管理consul 阿里Nacos
服务发现与注册 consul 是一套开源的分布式服务发现和配置管理系统consul默认端口是8005由GO语言开发提供了微服务系统中的服务治理配置中心控制总线等功能 优点基于raft协议比较简洁、支持健康检查同时支持HTTP和、DNS协议提供图形化界面
实践实现2个微服务注册与发现服务提供者端口8001 服务消费者端口80注册到consul
服务提供者8001注册进consul 1、maven项目8001服务的pom.xml文件,引入spring-cloud-starter-consul-discovery
2、修改maven项目resources下application.yaml文件 server: port:8001
spring: application: name:cloud-payment-service
cloud: consul: host:localhost port8500 discovery service-name${spring.application.name}
服务cloud-payment-service以端口8001注册到consul
3、开启服务发现 maven项目main下找到8001服务的主启动类 添加EnableDiscoveryClient
4、启动8001主启动类
5、检查consul是否注册成功
服务消费者80 1、80服务的pom.xml文件,引入spring-cloud-starter-consul-discovery 2、修改yaml文件 server: port:80
spring: application: name:cloud-consumer-service
cloud: consul: host:localhost port8500 discovery service-name${spring.application.name}
服务cloud-consumer-service以端口80注册到consul
3、开启服务发现 找到80服务的主启动类 添加EnableDiscoveryClient
4、修改maven项目下main的ontroller类
原配置paymentSrv_URL“http://localhost:8001”
修改为paymentSrv_URLpaymentSrv_URLhttp://cloud-payment-service服务名
4、启动80主启动类
5、检查consul是否注册成功
分布式系统全局配置和动态刷新: 业务系统拆分成多个子服务系统会出现大量的服务每个服务需要必要的配置信息才能运行所以集中式、动态配置管理是必不可少的某些配置文件中的内容大部分都是相同的只有个别配置项不同例如数据库配置每个微服务关于数据库的配置基本相同当数据库配置修改要使微服务处处生效 微服务自带一个application.yaml当上百微服务的时候管理维护配置文件不太方便
通用全局配置信息直接注册进Consul服务器从Consul获取实现一次修改全局广播
实践 1、 修改8001微服务的pom.xml文件,引入spring-cloud-starter-consul-config spring-cloud-starter-bootstap
2、新增bootstap.yaml application 用户级别的 bootstap.yaml 系统级别优先级更高 bootstap.yaml 替代application或者两者共存
bootstap.yaml server: port:80
spring: application: name:cloud-consumer-service
cloud: consul: host:localhost port8500 discovery service-name${spring.application.name} configprofile-separator- 文件分隔符format YAMLapplication.yaml
spring:
… profiles: active:dev
配置规则说明 Key Valus配置分布式配置和全局刷新 1、创建config文件夹以/结尾 2、config文件夹分别创建其他3个文件夹
动态刷新 Maven项目主启动类添加RefreshScope EnableDiscoveryClient RefreshScope
阿里云MSE Nacos https://help.aliyun.com/zh/mse/use-cases/create-a-service-registry-on-mse-for-spring-cloud-applications?spma2c4g.11174283.0.0.412e7b26BY8hAOshareIdaa1fce1325f3814c0fd355c755cbcc1c
负载均衡 Spring Cloud loadBalance是由SpringCloud官方提供的一个开源简单易用的客户端负载均衡
组件spring-cloud-starter-loadbalancer
loadbalancer工作逻辑 1、Consul Server从服务端查询并拉取服务列表它有多个服务上图3个服务这3个服务实现是完全一样的默认轮询调用用谁都可以正常执行 2、按照指定的负载均衡策略从server收到的服务注册列表中由客户端自己选择一个地址
实践80通过轮询负载访问8001/8002/8003 步骤 1、将服务提供者8001微服务拷贝2个微服务新拷贝的微服务注册到consul
2、80微服务修改pom.xml文件新增loadbalancer依赖组件RestTemplateconfig配置文件增加loadBalance、修改80微服务controller文件并启动
MSE https://help.aliyun.com/document_detail/404845.html