01. 微服务架构开发实战之概览

微服务架构开发实战之概览

介绍下什么是微服务以及spring Cloud为开发微服务架构应用程序提供了哪些组件。

  • 视频讲解

    01. 微服务架构开发实战之概览

更多精彩内容: 微服务架构开发实战专栏简介

1.1 简单理解微服务

1.1.1 什么是微服务?

”微服务就是一些协同工作的小儿自治的服务“ —— Sam Newman

1.1.2 微服务的优点?

  • 异构性:支持每个微服务使用不同的语言编写存储(实际上使用单一语言Java)
  • 弹性:一个组件不可用不会导致级联故障
  • 扩展:单体服务不易扩展,多个较小的服务可以按需扩展

1.1.3 微服务的缺点

  • 分布式系统的复杂性
  • 开发测试等研发过程变得复杂性
  • 部署监控等很多运维复杂性

1.2 微服务组件

在这里插入图片描述

1.2.1 服务治理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IQDobNyU-1584442333263)(/Users/zhaoqingfeng/Library/Application Support/typora-user-images/image-20200317173033347.png)]
遇到问题:

  • 作为消费者如何访问并调用生产者,
  • 作为生产者如何让消费者知道并进行消费
  • 服务着是否处于在线提供服务状态

解决方案:服务治理包括服务注册和服务发现
在这里插入图片描述
使用组件: Spring Cloud Eureka

1.2.2 微服务的负载均衡

在这里插入图片描述
遇到问题:

  • 服务消费者如果有多个服务生产者实例,该选择哪个服务生产者实例进行消费?
  • 也就是说如何进行客户端负载均衡?

解决方案:消费者客户端负载均衡

扫描二维码关注公众号,回复: 10751160 查看本文章

使用组件:Spring Cloud Open Feign (简化Ribbon使用)

1.2.3 微服务的API Gateway

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-poeZIDq6-1584442333264)(/Users/zhaoqingfeng/Library/Application Support/typora-user-images/image-20200317173511564.png)]
遇到问题:各个API 之间如何调用问题

解决方案: 门户模式,API Gateway就是为微服务提供一个统一入口

使用组件:Spring Cloud Gateway

1.2.4 微服务的容错保护

在这里插入图片描述
遇到问题:雪崩效应

解决方案:断路器,服务降级

使用组件:Spring Cloud Circuit Breaker( 支持 Netflix Hystrix

1.2.5 微服务的统一配置

在这里插入图片描述
遇到问题:各个微服务之间的一些公用配置

解决方案:gi t 方式远程修改维护配置

使用组件:Spring Cloud Config

1.2.6 微服务的服务追踪

遇到问题:多个微服务异常日志追踪

解决方案:日志聚合

使用组件:Spring Cloud Sleuth +ELK (Elasticsearch+Logstach+Kinabalu)日志聚合

或Spring Cloud Sleuth + Zipkin(可视化分析展示)

1.2.7 微服务的安全

遇到问题:微服务调用如何授权认证问题

解决方案:Spring Cloud Security+ Oauth 2.0+ JWT(Java web Token)

使用组件:Spring Cloud Security 整合Oauth 2.0 以及 JWT (Java Web Token)来构建我们的安全体系

1.2.8 微服务之间通信

在这里插入图片描述

遇到问题:各个微服务进程之间如何通信的问题

解决方案:引入消息中间件, Restful API ,RPC

使用组件: Spring Cloud Stream

1.2.9 微服务消息总线

遇到问题:如何解决修改的配置文件更新问题

解决方案:自动刷新配置

使用组件:Spring Cloud Bus

1.2.10 微服务部署

遇到问题:微服务实例上线和下线

解决方案:使用容器或 命令行,脚本方式管理微服务

使用组件:Spring Cloud Kubernetes + Jenkins 或 Spring Cloud Cli

本篇完~

下篇:02. 微服务架构开发实战之单体架构应用改造升级微服务架构

发布了194 篇原创文章 · 获赞 262 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/hadues/article/details/104928096
01.