深圳幻海软件技术有限公司 欢迎您!

【笔记】SpringCloud微服务简介

2023-03-25

微服务什么是微服务微服务是松耦合的分布式软件服务,这些服务执行少量的定义明确的任务,服务之间通过http和json这样的轻量级通信协议进行数据交换。为什么使用微服务1.程序的复杂性上升,单个程序维护不方便,需要与外部服务联系。2.客户需要更快的交付。3.更强的性能和横向伸缩(提升单个机器的性能–&g

微服务

什么是微服务

微服务是松耦合的分布式软件服务,这些服务执行少量的定义明确的任务,服务之间通过http和json这样的轻量级通信协议进行数据交换。

为什么使用微服务

1.程序的复杂性上升,单个程序维护不方便,需要与外部服务联系。

2.客户需要更快的交付。

3.更强的性能和横向伸缩(提升单个机器的性能–>多个机器分担服务压力)。

4.程序需要高弹性,某个故障不会影响到整个程序崩溃。

1.基础设施即服务(IaaS)(云服务器)

2.平台即服务(PaaS)(github)

3.软件即服务(SaaS)

4.函数即服务(FaaS)

5.容器即服务(CaaS)

微服务考虑主题

1.大小适当—避免微服务承担太多的职责,过小的粒度会导致开发难受。

2.位置透明—如何管理服务之间调用的物理位置细节。

3.有弹性—如何绕过失败的服务(快速失败)。

4.可重复—确保每个相同的服务实例有一样的配置和代码库。

5.可伸缩—利用异步处理和事件来最小化服务之间的依赖 ,可以优雅的扩展服务。

微服务模式

1.核心微服务开发模式:服务粒度,通信协议,接口设计,配置管理,事件处理。

(Spring Boot ,Spring Cloud Config ,Spring Cloud Stream)

2.微服务路由模式:服务发现,服务路由。

(Spring Cloud/Netflix Eureka ,Spring Cloud/Netfilx Zuul)

3.微服务客户端弹性模式:客户端负载均衡,断路器模式,后背模式,舱壁模式。

(Spring Cloud/Netfilx Ribbon ,Spring Cloud/Netfilx hystrix)

4.微服务安全模式:验证,授权,凭据管理和传播。

(Spring Cloud Security/OAuth2/JWT)

5.微服务日志记录和跟踪模式:日志关联,日志聚合,微服务跟踪。

(Spring Cloud Sleuth/Zipkin)

6.微服务构建和部署模式:构建和部署管道,基础设施即代码,不可变服务器,凤凰服务器。

(Docker ,Travis CI)

文章知识点与官方知识档案匹配,可进一步学习相关知识
Java技能树首页概览108492 人正在系统学习中