springcloud 的组件(一)

tech2022-09-21  72

首先我们要知道微服是什么?

前言 有一天自己看看招聘的网站,看个行业要闻都是微服务… 最近几年确实是火到没朋友,至微服务架构出现后,越来越多的组织,企业,个人投入到该领域进行探索深耕,阿里巴巴早期用于服务治理的Dubbo项目更是成为Apache顶级开源项目

2017-2018年间一直在创业,更多的是停留在业务和与人打交道层面,在技术领域也没有太多的专研,现在静下来将SpringBoot学习记录一遍,后面我会使用SpringBoot的优势构建一个企业级的高可用架构

疑问

究竟什么是微服务,国内项目使用的主流架构又有哪些?为什么会有微服务?Spring框架应该都知道,那SpringBoot呢?与国内著名的Dubbo框架又有什么差异?到底倾向于什么样的架构会更合适你现在的项目?带着这些疑问就开始我们的探索吧。

微服务释义 顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小,而所谓服务,一定要区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。那举个例子就是多个tomcat,然后每个Tomcat完成一件独立的事情。

与单体架构区别 单体架构所有的模块全都耦合在一块,代码量大,维护困难,微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。

单体架构所有的模块都共用一个数据库,存储方式比较单一,微服务每个模块都可以使用不同的存储方式(比如有的用redis,有的用mysql等),数据库也是单个模块对应自己的数据库。

单体架构所有的模块开发所使用的技术一样,微服务每个模块都可以使用不同的开发技术,开发模式更灵活

#先说说组件吧

Eureka:注册中心 负责注册provider和consumer的服务中心 Provider:

Provider:负责与数据库的进行交互,实现数据的持久化,并给consumer提供服务

Consumer:与前端交互(就是Controller或者说是就是接口),通过与Eureka同源的feign组件调用provider提供的服务实现业务逻辑,给前端响应

Hystrix:容错 Hystrix是一个开源的容错框架,可以用于隔离各个远程服务调用,防止因为某一个节点调用失败导致整个调用链路都崩溃

Ribbon:是客户端的负载均衡(当每个服务部署多个实例时,如何解决将请求分摊到多个服务提供者实例上,避免集中地请求某一个服务实例而导致出现意外,而有一些服务实例却是空闲的这种情况呢?这就涉及到了负载均衡.) 英文名称为Load Balance 实现负载均衡的策略:随机、轮询、加权轮询等…

zuul:网关

--------------------------------------待续---------------------------------------------

最新回复(0)