- Spring cloud eureka server
- Spring cloud eureka provider
- Spring cloud eureka consumer
- Spring cloud hystrix
- Spring cloud zuul
- Rocketmq
- Redis-Redisson
- Spring-Mybatis
- VUE
- Spring dubbo consumer
- Spring dubbo provider
服务注册与发现
首先需要启动服务的注册中心,我这里有三个,分别是eureka-server-1、eureka-server-2、eureka-server-3
然后启动服务提供者,eureka-provider-inner、eureka-provider-outside,这两个名字是为了区分不同类型的服务。
如果想测试服务的负载均衡,需要将inner与outside的配置文件中的application-name改成一样。
再启动eureka-consumer,调用controller就可以验证负载均衡了。
在分布式环境中,许多服务依赖关系中的一些将不可避免地失败。
Hystrix是一个库,它通过添加延迟容忍和容错逻辑来帮助您控制这些分布式服务之间的交互。
Hystrix通过隔离服务之间的访问点、停止它们之间的级联故障并提供后备选项来实现这一点,所有这些都提高了系统的整体弹性。
Hystrix的设计目的如下:
- 保护和控制通过第三方客户机库访问依赖项(通常通过网络)的延迟和故障。
- 在一个复杂的分布式系统中停止一连串的故障。
- 失败快,恢复快。
- 在可能的情况下进行回退并优雅地降级。
- 使接近实时监测,警报,和操作控制。
首先需要启动服务的注册中心,分别是eureka-server-1、eureka-server-2、eureka-server-3
随后启动hystrix,再启动consumer进行消费即可,最后postman来调用consumer的controller
hystrix里面测试了降级(fallbackMethod),超时降级。线程池限流降级等一些基本的功能。
Spring Cloud Ribbon是一个客户端负载均衡工具,基于Netflix Ribbon实现。
通过Spring Cloud的封装,面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。
Spring Cloud Ribbon 不需要独立部署。
在Ribbon基础上进行封装, 只需创建一个接口并用注解的方式来配置它,即可完成对服务提供方接口的绑定。
简化了在使用Ribbon的时候,不需要自己封装服务调用客户端。
Zuul是一种网关服务,提供动态路由、监视、弹性、安全性等功能。
首先需要启动服务的注册中心,分别是eureka-server-1、eureka-server-2、eureka-server-3
随后启动provider-inner,如果需要负载均衡,需要将inner与outside的配置文件中的application-name改成一样。
再启动zuul,zuul中有几个filter,pre、post、route、error、一些filter,
还有zuul限流配置,超时的配置等。
调用 http://localhost:9096/inner/getUserName 走zuul网关
增加了链路跟踪的逻辑
新增了rocketmq消息发送与处理逻辑
操作就是一些基本数据结构操作,还有是分布式锁的调试
增加了mybatis-mysql的多数据源
增加shardingsphere,分库,分表的操作的配置
前端:vue-web-admin
后端:shiro-web-api
前后端分离的后台管理系统,大致就是有用户管理,权限管理等一些基本的功能。
首先配置用户,然后配置用户角色,然后角色可以配置权限,页面的权限和按钮的权限都在角色里面去配置。
系统分为管理员和操作员与其他,不过管理员并不是权限最大的,他们是平级的,所有的权限都应该去配置。
默认密码都是123456
增加数据库sql
增加dubbo模块,发布了dubbo和rest协议的服务。
要有zookeeper环境
启动provider,dubbo服务可以通过consumer的test进行测试
rest协议服务可以通过浏览器或者postman直接调用