springcloud

守望程序的双眼

分布式系统的CAP定理 一致性,高可用性,分区容错性(导致CA选一)
先AP,再CP,最后CA

分布式部署
1.部署在不同机器上的不同服务。基于SOA面向服务编程的微服务架构
2.将相同应用复制到不同机器上,集群部署,不属于SOA

微服务架构
1.拼图,粒度小,高内聚低耦合。
2.对用户大量的请求的处理,实例化细分每个功能将其封装成为一个独立的微服务(子系统)

springcloud是啥?

同dubbo一样是用作服务治理的框架,不说框架就说是微服务架构的一种规范吧。
springcloud社区热度值高版本更新快,可能不稳定。dubbo是阿里推出来的较成熟,国产

SpringCloud是一系列框架的有序集合,基于SpringBoot实现的服务治理工具包
用来管理和协调微服务架构中的微服务

springcloud的五大重要组件?

注册中心:Eureka服务发现(提供消费)
Eureka包含2个组件 Eureka Server和Eureka Client 引入场景启动器写配置写注解
@EnableEurekaServer
@EnableEurekaClient

必须工作在springboot,springcloud环境中,依据是微服务名称,eureka配合
ribbon的负载均衡策略 官方说法访问provider集群实现负载均衡
客户端负载均衡:Ribbon 在consumer客户端加入ribbon场景启动器,通过ribbon解析微服务名称成端口号负载均衡访问provider :端口号1000(多台机器上部署的同一个服务)

ribbon(从feign的引入)对比nginx
nginx在linux环境安装,依据ip+端口号
nginx负载均衡配置nginx.conf不同,针对端口号不同的请求地址/tomcat服务器集群的负载均衡

ribbon与nginx的联系:理论上可行,使用nginx访问consumer(ip+端口号)

nginx再用作前端route路由的反向代理根据不同模块名称匹配到不同功能模块服务的URL地址

声明式调用远程方法:Feign (consumer主启动类使用@EnableFeignClient注解)
通过common工程里的接口,@FeignClient(“微服务名称”)远程调用provider微服务方法
feign原理过程:通过ribbon负载策略找到eureka唯一URL调用provider微服务服务方法

注意点:接口@FeignClient必须在consumer工程的包扫描范围内
传参@RequestParam(""),@RequestBody provider工程与common工程一定对应

断路由:Hystrix 短路熔断机制,在其他微服务出现问题时的一种隔离手段(熔断,降级,监控)
在服务端叫做熔断,备用方法返回相同类型数据提示信息 在provider工程加注解@EnableCircuitBreaker启用Hystrix断路由功能
在consumer端叫降级,备用方法
监控(属springboot):加依赖,豪猪仪表盘查看主启动类写@EnableHystrix

服务网关:Zuul 和 eureka进行整合,通过微服务名称去eureka中找到对应端口将请求转发给provider。主启动类写注解@EnableZuulProxy
项目统一入口。解决不同微服务繁琐的权限验证,和微服务变更问题
zuulfilter 对于整个项目 拦截,过滤,放行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值