spring
目的:解决企业开发的复杂性问题
Aop(本质,动态代理) 在不影响业务本来的情况下,实现动态增加功能,大量应用在日志,事务。。。等待
springboot特性:约定大于配置
微服务架构的问题
分布式架构会遇到的四个核心问题
1.这个多服务,客户端该如何访问?
2.这么多服务,服务之间如何进行通信?
3.这么多服务,如何治理?
4.服务挂了,怎么办
解决方案
springcloud 是一套生态,就是来解决以上分布式架构的四个问题。
想使用springcloud,必须掌握springboot
第一套解决方案
spring cloud NetFix 出来了一套解决方案,一站式解决方案,我们都可以之间去这里拿
1.Api网关 zull组件
2.Feign基于HttpClient 基于Http的通信方式,同步并阻塞
3.服务注册与发现 Eureka
4.熔断机制 Hystrix
第二套解决方案
Apache Dubbo zookeper,第二套解决方案
Api网关 没有 找第三方 ,自己实现
Dubbo是高性能的基于java实现的RPC通信框架
服务注册与发现,第三方 zookeeper:翻译动物园管理者 (Hadoop,Hive)
熔断 没有 借助了 Hystrix
不完善
第三套解决方案
springcloud Alibaba 一站式解决方案
目前,又提出了一套新的解决方案
服务网格:下一代微服务标准 Server Mesh
代表解决方案 istlio
主要目的还是解决:
API网关,服务路由
HTTP,RPC框架,异步调用
服务注册与发现 高可用
熔断机制,服务降级