SpringCloud项目中使用到的SQL表
payment表
CREATE TABLE `payment`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`serial` varchar(200) DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = `utf8`;
CAP理论
CP: 侧重数据的一致性, 严格保证, 一旦发生故障立即从注册中心中删除该微服务
AP: 侧重集群的高可用, 因为网络延迟或故障等不会立即从服务注册中心中删除
Ribbon本地负载均衡和Nginx服务端负载均衡的区别
Nginx是服务器负载均衡, 客户端所有请求都会交给Nginx, 然后由Nginx实现转发请求
Ribbon本地负载均衡, 在调用微服务接口, 会在注册中心上获取注册信息服务列表之后缓存到JVM本地, 从而实现在本地RPC远程服务调用技术.
Hystrix服务熔断
出现异常请求时, 先通过服务降级返回一个提示页面, 当一定时间内异常请求次数达到一定的百分比和次数时, 触发服务熔断, 此时所有的请求都会被服务器拒绝. 熔断之后经过一段时间后(timeout), 尝试着去接收请求, 如果请求正常, 则慢慢恢复; 如果请求还是异常, 则保持服务熔断状态.
服务网关
路由Route
由ID, 目标URI, 一系列断言和过滤组成
断言Predicate
满足URI匹配条件
过滤
根据指定要求进行过滤
可以根据特殊需求添加多个过滤器
Config配置中心
==客户端的动态刷新问题==
当修改配置文件后, 客户端微服务需要重启才能获得最新的配置文件
手动刷新: 将麻烦丢给运维去做, 运维人员修改配置文件后, 再手动发送一个命令去通知客户端微服务来拉取最新的配置文件. 此时客户端不需要重启
消息总线Bus
实现分布式的自动刷新配置功能
RabbitMQ或者Kafka