2020-09-03 23:07 浏览量:1031
微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务。
但是这个过程,具体应该怎么做?现有的条件下到底要不要做微服务?服务拆分成什么粒度才是合适的?遗留的老系统需要如何考虑重构改造?有哪些坑需要我们注意?系统怎么在分布式服务下实现数据的一致性和服务的高可用可伸缩?拆分的过程中系统数量增多,测试、部署、运维、监控,又应该如何处理?
最近整理了一套微服务实战文档,讲解很透彻。今天分享给大家。这份资料尤其适合以下人群:
1.没有用过微服务技术,只会用传统的 SSM 框架
2.用过 Spring Cloud、Dubbo等技术,但是只限于使用,遇到问题基本无法解决
3.从来没有系统学习微服务架构,觉得架构设计是遥不可及的
4.对于微服务技术有所了解,但尚没有设计高可用高并发的实践经历
看完这份文档你将获得哪些收获?
阐述微服务架构落地的一些设计原则和利弊取舍,结合微服务架构过程的很多最佳实践经验,希望给读者带来一定的启发和思考,避免在实际应用过程中走弯路,能够多快好省的落地实现微服务架构。
基础知识
主要包括了什么是微服务架构、与单体系统的区别、为什么选择Spring Cloud、什么是Spring Cloud
微服务构建(Spring Boot)
主要包含了:框架简介、快速入门、项目构建与解析、实现RESTfulAPI、配置详解、自定义参数、参数引用、命令行参数、多环境配置、加载顺序、监控与管理、初识actuator、原生端点。
服务治理(Spring Cloud Eureka)
主要内容包括:服务治理、Netflix Eureka、注册服务提供者、高可用注册中心、服务发现与消费、Eureka详解、服务治理机制、源码分析、配置详解、服务注册类配置、服务实例类配置、跨平台支持。
客户端负载均衡(Spring Cloud Ribbon)
主要内容包括:客户端负载均衡、RestTemplate 详解、GET请求、POST请求、PUT请求、DELETE请求、源码分析、负载均衡器、负载均衡策略、配置详解、自动化配置、Camden版本对RibbonClient配置的优化、参数配置、与Eureka结合、重试机制。
服务容错保护(Spring Cloud Hystrix)
主要内容包括:快速入门、原理分析、工作流程、断路器原理、依赖隔离、使用详解、创建请求命令、定义服务降级、异常处理、命令名称、 分组以及线程池划分、请求缓存、请求合并、属性详解、Command属性、collapser属性、thread Pool属性、Hystrix仪表盘、Turbine集群监控、构建监控聚合服务、与消息代理结合。
声明式服务调用:快速入门、继承特性、参数绑定、Ribbon配置、全局配置、指定服务配置、重试机制、Hystrix配置、全局配置、禁用Hystrix、指定命令配置、服务降级配置、其他配置、日志配置。
API网关服务(Spring Cloud Zuul)
快速入门、构建网关、请求路由、请求过滤、路由详解、传统路由配置、服务路由配置、服务路由的默认规则、自定义路由映射规则、路径匹配、路由前缀、本地跳转、Cookie与头信息、Hystrix 和 Ribbon 支持、过滤器详解、过滤器、请求生命周期、核心过滤器、异常处理、禁用过滤器、动态加载、动态路由、动态过滤器。
分布式配置中心:快速入门、构建配置中心、配置规则详解、客户端配置映射、服务端详解、基础架构、Git配置仓库、SVN配置仓库、本地仓库、本地文件系统、健康监测、属性覆盖、安全保护、加密解密、高可用配置、客户端详解、服务化配置中心、失败快速响应与重试、获取远程配置、动态刷新配置。
消息总线:消息代理、RabbitMQ实现消息总线、基本概念、安装与使用、快速入门、整合Spring Cloud Bus、原理分析、指定刷新范围、架构优化、RabbitMQ配置、Kafka实现消息总线、Kafka简介、快速入门、整合 Spring Cloud Bus、Kafka配置、深入理解、源码分析、其他消息代理的支持。
消息驱动的微服务:快速入门、核心概念、绑定器、发布-订阅模式、消费组、消息分区、使用详解、开启绑定功能、绑定消息通道、消息生产与消费、响应式编程、消费组与消息分区、消息类型、绑定器详解、绑定器SPI、自动化配置、多绑定器配置、RabbitMQ与Kafka绑定器、配置详解、基础配置、绑定通道配置、绑定器配置。
分布式服务跟踪:快速入门、准备工作、实现跟踪、跟踪原理、抽样收集、与Logstash整合、与Zipkin整合、HTTP收集、消息中间件收集、收集原理、数据存储、API接口。
来源:知乎专栏-JAVA进阶之路