1 Star 0 Fork 0

lwmzzz / SpringCloud2020

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Spring使用版本:

Spring:Hoxton.SR9

SpringCloud:2.3.5

模拟实例

订单支付模块

#hosts映射配置
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com

Eureka

可以关闭自我保护机制

Consul

go语言开发(!_!) Consul是一套开元的分布式服务发现和配置管理系统,提供了微服务系统中的服务治理、配置中心、控制总线等功能。每个功能也可以单独使用。

功能

  • 服务发现 -------> HTTP/DNS
  • 健康监测--------> HTTP/TCP/Docker/Shell
  • KV存储
  • 多数据中心
  • 可视化web界面

使用

How to use it with SpringCloud

安装并运行Consul

解压–>exe 文件,双击启动

开发模式: consul agent -dev

图形界面

三个注册中心的异同

组件名 语言 CAP 服务健康检查 对外暴露接口 SpringCloud集成
Eureka Java AP 可配支持 HTTP 集成
Consul Go CP 支持 HTTP/DNS 集成
Zookeeper Java CP 支持 客户端 ·集成

CAP

  • C:Consistency 强一致性

  • A:Availability 可用性

  • P:Partition tolerance 分区容错性

    CAP理论关注粒度是数据,而不是整体系统设计

Ribbon负载均衡服务调用客户端———–> 负载均衡+RestTemplae

负载均衡:将用户的请求平摊分配到多个服务上,从而达到系统的HA(高可用)

  • Nginx(集中式):==服务器负载均衡== 客户端所有请求都会交给服务器,然后由Nginx实现转发请求
  • Ribbon(进程内):在调用微服务接口,会在注册中心上获取注册服务信息列表之后缓存到JVM本地,从而在本地实现RPC远程服务调用技术。

Ribbon:

  	- 选择EurekaServer,优先选择在同一个区域内负载较少的server
  	- 根据用户指定的策略;如轮询、随机、根据响应时间加权,再从server渠道的服务注册列表中选择一个地址
Ribbon 自带默认的轮询算法IRule

自定义配置类不能放在@ComponentScan所扫描的当前包和当前子包下,否则会被所有的Ribbon客户端共享,达不到特殊定制的目的。

负载均衡算法

rest接口第几次请求 % 服务器集群总数量 = 实际调用服务器位置下标,每次服务重启后rest接口计数从1开始

OpenFeign

空文件

简介

尚硅谷SpringCloud2020学习 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lwmzzz/SpringCloud2020.git
git@gitee.com:lwmzzz/SpringCloud2020.git
lwmzzz
SpringCloud2020
SpringCloud2020
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891