微服务架构概述

微服务架构概述

参考:《Srping Cloud与Docker微服务架构实战 周立著》

单体应用架构存在的问题

在这里插入图片描述

微服务架构就是为了解决单体应用架构中存在的问题。

什么是微服务

微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间采用轻量级通信机制(HTTP或RPC)。这些服务围绕业务能力并且可通过自动部署机制独立部署。这些服务共用一个最小型的的集中式的管理。服务可用不同语言开发,并可使用不同的存储方式。具有如下特性:
在这里插入图片描述

微服务优点与挑战

在这里插入图片描述

微服务设计原则

在这里插入图片描述

微服务组件

基础组件

  • Eureka :云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
  • Ribbon :提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。
  • Feign :Feign 是一种声明式、模板化的 HTTP 客户端。
  • Hystrix : 熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
  • Zuul :Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。
  • Spring Cloud Config : 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git 以及 Subversion。
  • Spring Cloud Bus : 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。
  • Spring Cloud Sleuth :日志收集工具包,封装了 Dapper 和 log-based 追踪以及 Zipkin 和 HTrace 操作,为 SpringCloud 应用实现了一种分布式追踪解决方案。
  • Turbine :Turbine 是聚合服务器发送事件流数据的一个工具,用来监控集群下 hystrix 的 metrics 情况。
  • Spring Cloud Stream :Spring 数据流操作开发包,封装了与 Redis、Rabbit、Kafka 等发送接收消息。

协议标准

  • JWT
  • OAuth2

监控

  • spring boot admin:健康监控
  • ELK:日志分析
  • zipkin:链路追踪

授权登陆

  • Spring Cloud Sercurity
  • Shiro
  • Spring Cloud OAuth2

基于 Spring Security 和 OAuth2 的安全工具包,为你的应用程序添加安全控制。

推荐阅读

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值