springcloud02微服务架构

1.在这里插入图片描述
2.约定>配置>编码

3.架构搭建流程:

建module、该pom、写yml、主启动、写业务

4.run dashboard

5.多个子项目用到同样的代码(util,commonbean。。。),封装成一个项目,然后引入

6.为什么要有eureka

如果是一个项目调用另一个项目,其实是不需要的,但是当有多个项目(a1,a2,a3…)去调用多个项目(b1,b2,b3…)时,项目(a)不知道项目中(b)哪个项目可用不可用、或者又有一个b4项目加进来,a又不知道。此时引入了eureka(注册于发现),eureka相当于中介,哪个(b)项目可以用,也会告诉a(b4)项目已经加进来。

7.为了解决单点故障(比如一个eureka,但是它挂掉了),一些微服务都会是多个

8.eureka 与 dubbo

在这里插入图片描述

9.eureka的两个组件

eureka server 提供注册服务,
eureka client 通过注册中心进行访问

服务->(服务名称:ip地址)
服务注册:把服务存入注册中心
服务发现:根据服务名获取ip地址(30秒更新一次)

10.单机eureka与集群eureka

1.修改网址与ip的映射文件,C:\Windows\System32\drivers\etc\host
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
这样在yml配置文件
eureka:
instance:
hostname: eureka7001.com #eureka服务端的实例名称

11.instance配置(eureka主机名显示、ip地址显示)

配置前eureka显示
在这里插入图片描述
配置信息
instance:
instance-id: payment8001
prefer-ip-address: true
配置后eureka显示
在这里插入图片描述

12.eureka自我保护机制

在这里插入图片描述
当某一个微服务不可用、eureka不会立即清理,而是保护一段时间、属于cap理论里面的ap分支理论
在这里插入图片描述

13.zookeeper整合

添加依赖,
添加注解、@EnableDiscoveryClient //该注解用于想使用consul或者zookeeper作为注册中心时注册服务
启动zk
启动服务
在这里插入图片描述

继续
在这里插入图片描述
json zookeeper的相关信息
{
“name”: “cloud-provider-payment”,
“id”: “b1fc8adb-303f-42fa-8186-111ba0f6738e”,
“address”: “192.168.0.104”,
“port”: 8004,
“sslPort”: null,
“payload”: {
“@class”: “org.springframework.cloud.zookeeper.discovery.ZookeeperInstance”,
“id”: “application-1”,
“name”: “cloud-provider-payment”,
“metadata”: {}
},
“registrationTimeUTC”: 1603528552645,
“serviceType”: “DYNAMIC”,
“uriSpec”: {
“parts”: [
{
“value”: “scheme”,
“variable”: true
},
{
“value”: “😕/”,
“variable”: false
},
{
“value”: “address”,
“variable”: true
},
{
“value”: “:”,
“variable”: false
},
{
“value”: “port”,
“variable”: true
}
]
}
}

14.zookeeper节点默认是临时节点,一段时间没有心跳,则删除节点

15.consul,下载consul,运行consul agent -dev ,访问 http://localhost:8500/ui/dc1/services

16.eureka,zk,consul的关系

在这里插入图片描述
在这里插入图片描述
分布式要保证p,所以要么是cp、要么是ap

17.ribbon负载均衡,eureka自带ribbon依赖

客户端的负载均衡
nginx是挡在最前面的,然后才是ribbon
在这里插入图片描述

负载均衡分为两种
在这里插入图片描述
在这里插入图片描述

ribbon工作流程
在这里插入图片描述

18.自定义ribbon负载均衡规则,不能被@ComponentScan扫描到(不与启动类同包)

19.openfeign

在这里插入图片描述

20.openfeign的使用

在这里插入图片描述

21.hystrix:熔断(break)、降级fallback、限流flowlimit

在这里插入图片描述

服务降级:
原因:程序异常,程序超时,服务熔断触发服务降级,线程池满等情况
解决:服务器忙,请稍后再试。不让客户等待,返回一个友好提示
服务熔断:
原因:达到最大服务访问量等情况,直接拒绝访问
解决:以服务降级的方式解决,然后慢慢恢复
服务限流:
原因:抢购系统
解决:大家排队,一秒处理N个,有序进行

22.一般服务降级放在客户端(运行异常、超时、宕机)

23.hystrix 图形化界面http://localhost:9001/hystrix

在这里插入图片描述
在这里插入图片描述

24.zuul与Gateway。网关的位置

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

25.Gateway的三个概念:路由(Router)、断言(Predicate)、过滤(Filter):全局日志,通用鉴定权限

路由配置有两种方式:yml配置,注入bean配置
总结:在这里插入图片描述
在这里插入图片描述

分布式配置中心config与bus,管理配置文件(运维负责,先放一边)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值