170923_Spring Cloud 微服务实战(翟永超著) 读书笔记(一)_什么是Spring Cloud?

Spring Cloud是一个微服务架构实施的综合性解决框架。

什么是微服务架构?

微服务架构本质上还是SOA(面向服务架构)的一种实现。它的主旨在于将一个独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP(HyperText Transfer Protocol,超文本传输协议)的RESTful API(Application Programming Interface,应用程序编程接口)进行协作。每一个小型服务都具有独立的业务功能,并且每个服务都有完善的维护、测试以及部署机制。由于有了轻量级的通信协议作为基础,所以这些微服务可以使用不同的语言来进行编写

这里写图片描述

什么是RESTful API?

REST的全称为(Representation State Transfer,表现层状态转换)

这里写图片描述

实施微服务会遇到哪些问题?

1)运维:需要维护的进程增加,运维过程需要更多的自动化。
2)业务上的逻辑依赖并不会消除,我们需要更加完善接口和版本管理,或是严格的遵循开闭原则。
3)分布式的复杂性

如何设计微服务架构?

1)服务组件化,不同于传统组件那样以嵌入的方式协同工作,服务是一种进程外的组件,它通过HTTP等通信协议进行协作。
2)按业务组织团队,以前按照技术层面将团队划分为DBA团队,运维团队,测试团队,后端、前端团队等等,若继续使用这种团队组织方式来实施对微服务架构的开发,当一个服务出现问题时,会引起团队的时间耗费和预算审批。所有在进行微服务架构的开发时,更建议按业务线的方式进行拆分。
3)以做“产品”的态度来对待每一个微服务。
4)智能端点和哑管道,在极度强调性能的情况下,有些团队会使用二进制的消息发送协议,例如:protobuf。即使是这样,这些系统仍然会呈现出“智能端点和哑管道”的特点,为了在易读性与高效性之间取得平衡。当然大多数Web应用或企业系统并不需要作出在这两者间做出选择,能够获得易读性就已经是一个极大的胜利了。
5)不是每一个问题都是钉子,不是每一个解决方案都是锤子。
6)根据结构或业务特性将不同的数据存储到不同的数据库之中,如把日志信息存储到MongoDB中或把用户登录信息存储到Redis之中。
7)基础设施自动化。
8)设计和考虑快速检测出故障源并尽可能地自动恢复服务。
9)演进式设计,初期以单体系统的方式设计和实施,后续逐渐将原来在单体系统中多变的模块逐步拆分出来。

什么是SOA?

这里写图片描述

Spring Cloud不同于其它Spring项目,它不再是一个基础框架项目,而是一个更高层次的、架构视角的综合性大型项目,其目标旨在构建一套标准化的微服务解决方案,让使用者在使用微服务理念构建系统时,在各个环节遇到的问题都能找到相应的组件来进行处理。Spring Cloud为微服务架构提供了一个“全家桶”套餐,这样有效的减少了我们在组件的选型和整合上花费的时间

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值