微服务学习
之前接触过springboot并完成了一些小项目,但没有系统记录学习过程。正好最近学习微服务相关知识,所以重新学习一遍并记录下来。
SpringBoot基础
- 使用IDEA搭建SpringBoot开发环境
- SpringBoot集成Spring Data JPA
- SpringBoot集成Mybatis,逆向工程生成代码
- SpringBoot集成SpringDataJPA实现多数据源
- SpringBoot整合定时任务
- SpringBoot集成JavaMail
微服务组件(学习中)
基础组件(Spring Cloud 部分弃用)
之前技术选型时使用下面的技术栈,但由于Eureka2.0闭源了,并且1.0进入维护阶段,担心对未来产生影响,所以放弃。选择阿里巴巴的微服务技术技术栈
- 一个简单的微服务
- Eureka : 云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
- Ribbon :提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。
- Feign : Feign 是一种声明式、模板化的 HTTP 客户端。
- Hystrix :熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
- Turbine :Turbine 是聚合服务器发送事件流数据的一个工具,用来监控集群下 hystrix 的 metrics 情况。
- 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 应用实现了一种分布式追踪解决方案。
- Spring Cloud Stream : Spring 数据流操作开发包,封装了与 Redis、Rabbit、Kafka 等发送接收消息。
Spring Cloud Alibaba
- ORM 框架:mybatis-plus
- 数据库连接池:Alibaba Druid
- 数据库缓存:Redis Sentinel
- 消息中间件:RocketMQ
- 接口文档引擎:Swagger2 RESTful 风格 API 文档生成
- 分布式链路追踪:SkyWalking
- 分布式文件系统:Alibaba OSS
- 分布式系统网关:Spring Cloud Gateway
- 分布式协调系统:Nacos Discovery
- 均衡负载:Ribbon 默认集成至feign内,暂使用ribbon
- 分布式配置中心:Nacos Config
- 分布式熔断降级:Sentinel
- 反向代理负载均衡:Nginx
- 日志监控管理:ELK
- 分布式事务框架:Seata
- 服务监控管理:Spring Boot Admin
- 服务调用: Spring-cloud-open-Feign
协议标准
- JWT
- OAuth2
监控
- spring boot admin:健康监控
- ELK:日志分析
- zipkin:链路追踪
授权登陆
- CAS单点登录服务
- Spring Cloud Sercurity
- Shiro
- Spring Cloud OAuth2
基于 Spring Security 和 OAuth2 的安全工具包,为你的应用程序添加安全控制。
服务编排
- docker
- docker compose
- kubernetes
SpringBoot实战
微服务实战
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13174.html