SpringCloud架构知识点梳理

由于项目经理透漏下个项目可能选型SpringCloud+VUE,做分布式系统,以前做过Demo和小项目,幸好是前后端分离,要不VUE我专门花一周学,就是没学会。

个人结合资料网站,SpringCloud中文网,以及《Spring Cloud与Docker微服务架构实战》简单整理,周末抽时间自己搭demo测试,自己家里按了个VMware,但是BIOS没修改,昨天也就作罢了,后面的知识点就笼统的看了一眼。

SpringCloud基础集成项目有25种之多,实在是不可能面面俱到,只挑了要用的看了一下。

首先整理下微服务架构,微服务,SOA分布式架构,RPC,RESTFUL等知识点去查询。以前应用的Dubbo+SpringBoot+Nginx+redis等应对,现在用SpringCloud+SpringBoot+自身项目完成。、

说起来以前为了查询SpringCloud与Dubbo的区别,还喷了一个满嘴脏话的CSDN博主,反正误人子弟就是了,后跟大佬们求证,才知道官网,和实践的重要性,其本质区别在于Dubbo是RPC协议,SpringCloud是REST风格。

1.Eureka:注册中心。个人理解,类比于Zookeeper,用于服务的注册与发现,但现在GitHub上声明了关于eureka 2.0的现有开源工作已经停止。作为2.x分支上现有工作存储库的一部分发布的代码库和工件被视为使用,风险自负。听大群说都在用Consul了,用Consul就得学Docker...

Eureka的自我保护机制。节点平等,不立即注销任何服务。

其中Zookeeper遵循CP原则,Eureka遵循AP原则。

2.Ribbon:负载均衡。类比于Nginx,7种算法外可自定义,一个@LoadBalanced即可解决,不同于Nginx的繁琐配置,

3.Feign:针对接口编程+声明式注解得负载,可添加日志了解具体请求,

4.Hystrix:断路器,处理延迟+容错,响应合理异常。默认5秒20次调用失败启动,关键注解@HystrixCommand

隔离策略:线程隔离(默认)

信号量隔离

5.Zuul:路由网关,用于服务接入,转发.代理+路由+过滤

6.Config:配置中心,需要搭配GitHub或Gitlab,

Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring EnvironmentPropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。可以轻松添加替代实现,并使用Spring配置将其插入。

7.Sleuth:实现微服务追踪。搭配ELK,ZipKin,分析系统瓶颈,解决系统问题。

OK,整理结束,简单记下相关知识,笔记已整理,相应的还引出了Docker,ELK,ZipKin等新技术...好累!!!

原文发布于微信公众号 - 赵KK日常技术记录(gh_cc4c9f1a9521)

原文发表时间:2019-07-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券