sprng cloud 学习笔记 (一) 微服务基础知识
admin
2023-03-18 10:05:21
0

一、微服务基本概念

    近几年比较火的架构设计大概就是微服务架构了吧,在学习spring cloud之前,首先了解一下什么是微服务架构。简单地说,微服务架构就是系统架构设计的一种风格,他的主旨是将原本独立的系统拆分成多个小型服务,这些小服务都是在各自独立的进程中运行,服务之间通过HTTP或者RESTful API进行通信协作,被拆分的小服务都围绕系统的某一项或者一些耦合度较高的业务进行构建,并且每个服务都有自身的数据存储以及业务开发,自动化测试案例以及独立部署机制。

    微服务与单体系统的区别主要就是在单体系统中,由于项目需求的不断扩充,会导致我们原本的系统原来越臃肿,如果出现一些小问题要不得不对整个系统进行服务更新,并且在修改问题有可能引发其他模块出现问题。这不是我们希望看到的。而微服务架构是将哥哥功能模块分别部署,化整为零,当我们某个模块需要更新只需要更新对应的服务即可,不需要对整个系统进行部署更新,使系统的稳定性大大的提高。将服务进行组件化这是微服务架构最大的优点。

      虽然微服务有很多优点,但相应的要面临原本系统架构中不存在的问题,如

    1、接口一致性:虽然我们拆分了服务,但是逻辑上的依赖并不会删除,只是从单体的代码依赖,变为服务间的通信以来,在各个服务的通信我们应该保持通信协议的一致性,否则当我们对原本接口进行修改,相应的服务调用方也要进行修改。

    2、分布式的复杂性:由于拆分后的服务都是独立部署各自运行的,所以所有分布式的问题都要考虑到,例如网络超时,分布式事物以及消息。

    3、运维的挑战:在微服务中,因为将整个服务拆分成许多个服务单独部署,导致运维工作量会成倍的增加,将这些程序井然有序的进行组织拍编对运维来说新增了很多挑战。

    虽然微服务有这些问题,但实现敏捷开发以及自动化部署等优点依然被广大优秀架构师和开发者们青睐,同事这些问题也是架构师们努力实现的目标。

    在我们实施微服务架构时,都系统让每一个服务来实现管理其自己的数据库,实现数据管理的去中心化。虽然去中心化可以让数据管理更加细致,通过采用合适的技术可让数据存储和性能达到最优。但是,微服务中最大的问题还是数据的一致性。分布式本身实现难度非常大,所以在为服务架构中,我们更强调的是服务之间进行无实物的为调用,对于数据一致性,没我们只要求数据在最后处理的时候的状态是一致的即可,如果处理过程中发现错误,通过补偿机制或者容错线程来处理,即在微服务中我们要保证数据的最终一致性。

  

二、框架选型

        通过上面的一些介绍相信大家对微服务框架有了相应的理解,接下来就对如何构架微服务进行框架选型。在之前,公司一直使用的是spring + netty进行对微服务进行构建,服务之间用过api方式进行调用。保证数据一致性通过容错线程来处理,zk来进行配置管理,整体来说架构还是比较稳定。但是有没有一个成型的微服务框架呢?(毕竟对自己的一套东西,信心还是不足的,哈哈。)然后问了一下度娘

,发现了 spring cloud这个神器(好吧,其实就是把杂七杂八的都砸进去了)。


三、spring cloud简介


spring cloud 是基于spring boot实现的微服务架构开发工具。他集成了微服务架构中所使用的配置管理,服务治理,断路器,只能路由,微代理,控制总线,全局锁,决策竞选,分布式回话和集群状态

管理等操作提供了一种简单的开发方式。


他所集成常用的工具如下


Spring  Cloud Config
配置管理工具
Spring Cloud  NetFlix
核心组件,对开源组件进行的整合

Eureka服务治理组件,服务注册,服务发现等

Hystrix容错管理组件,实现断路器

Ribbon负载均衡

Feign声明式服务调用组件

Zuul网管组件

Archaius外部配置化组件
Spring Cloud  Bus
事件消息总线,用于传播集群中的状态变化,如刷新配置
Spring Cloud  Cluster
选举算法和通用状态模式实现
Spring Cloud  Consul
服务发现与配置管理工具
Spring Cloud  Stream
缓存和mq的消费为服务
Spring Cloud  AWS
简化整合AWS组件
Spring Cloud  Security
安全工具包
Spring Cloud  Zookeeper
zookeeper组件

        

        从此可见,它集成了我们微服务框架中常用的工具,而且使用spring boot可以更快的对微服务进行构建,接下来的时间,将对spring cloud的各个组件进行学习与深究。增强对微服务框架的设计与理解。

相关内容

热门资讯

中国移动发布Token运营生态... 5月8日,中国移动在2026移动云大会期间举办“词元聚力 智享未来”Token运营发展论坛,联合腾讯...
台当局滥发文化补助,涉事歌词低... 叶元之海峡导报综合报道 台民意机构“教育及文化委员会”7日邀台当局文化主管部门进行业务报告并备询,国...
国乒男女团今天冲冠,一起迎战日... 北京时间5月10日(星期日),2026伦敦世乒赛团体赛决赛将迎来巅峰对决,男团、女团决赛将分别进行,...
瑞幸,杀到农夫山泉家门口 便利店的饮料货架上,出现了瑞幸这个熟悉又陌生的名字。近日,瑞幸正式推出全新瓶装即饮咖啡,一口气上架生...
浙江多地结婚登记预约爆满 “520”马上要来了,这一天因谐音“我爱你”成为许多新人眼中登记结婚的“良辰吉日”,目前,多地“52...
用多种假身份围猎涉密人员,国安... 国家安全部今天发布安全提示文章。“热心朋友”“高薪雇主”“灵魂伴侣”这些词汇看似温暖,其实可能是境外...
事关互联网信贷,蚂蚁、腾讯、抖... 5月9日晚间,记者从中国互联网金融协会获悉,近日,中国互联网金融协会互联网贷款自律工作委员会筹备组第...
有维修师傅回答下网上买的鞋柜怎... 网上买的那种组装鞋柜非常便宜,不过木板的质量也是比较差的,买到手之后大家会发现,这些组装鞋柜的木板非...
热水器功率p1p2p3选哪一个 P3的加热功率最大的,即最快的。保温是一样的,p1p2p3是选择的加热功率不同档位。代表不同的功率,...
阳台晾衣架手摇器坏了怎么修 阳台晾衣架手摇器坏了,可能是由于多种原因导致的,以下是一些常见的修理方法:1. 检查手摇器内部结构:...