自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 SpringCloud - 分布式配置中心

抽取出各模块公共的部分,做到一处修改各处生效的目标做到系统的高可用,修改了配置文件后可用在个模块动态刷新,不需要重启服务器1. 配置中心服务端搭建jar包导入启动类分布式配置中心配置规则spring.cloud.config.server.git.uri=https://github.com/zg-andy/zg-config-repospring.cloud.config.server.git.search-paths=config-repospring.cloud.c.

2020-05-24 20:43:08 235

原创 SpringCloud - Hystrix详细介绍

1. 服务雪崩某一个节点出现异常情况,就有可能在高并发的情况下出现雪崩,导致调用它的上游系统出现响应延迟,响应延迟就会导致tomcat连接本耗尽,导致该服务节点不能正常的接收到正常的情况。某个接口出现高并发异常,导致整个微服务tomcat连接池占满,不能提供服务2. 服务隔离如果整个系统雪崩是由于一个接口导致的,由于这一个接口响应不及时导致问题,那么我们就有必要对这个接口进行隔离,就是只允许这个接口最多能接受多少的并发,做了这样的限制后,该接口的主机就会空余线程出来接收其他的情况,不会被哪个坏了的接

2020-05-24 12:22:50 442

原创 SpringCloud - Ribbon远程接口调用

通过getForObject 方法(或者postForObject )可以掉到用micro-order 服务的,queryUser 接口。常用负载均衡算法//线性轮训new RoundRobinRule();//可以重试的轮训new RetryRule();//根据运行情况来计算权重new WeightedResponseTimeRule();//过滤掉故障实例,选择请求数最小的实例new BestAvailableRule();//随机new RandomRule();使用.

2020-05-21 11:20:52 359

原创 SpringCloud - 初步认知Eureka来龙去脉

1. Eureka 用户认证连接到eureka 的时候需要带上连接的用户名和密码添加启动器关闭csrf 验证Application.properties 配置security.basic.enabled=truespring.security.user.name=adminspring.security.user.password=admin微服务链接,Eureka 客户端eureka.client.serviceUrl.defaultZone=http://admin

2020-05-20 18:15:07 156

原创 并发编程 - synchronized特性

可见性1)线程解锁前,必须把共享变量的最新值刷新到主内存中2)线程加锁时,将清空工作内存中共享变量的值,从而使用共享变量时需要从主内存中重新获取最新的值(注意:加锁与解锁需要是同一把锁)原子性由于synchronized具有同步锁,所以它也具有原子性有序性java中通过synchronized提供的锁机制,确保了在加锁和解锁过程中的逻辑执行是单线程的,也就满足了符合as-if-serial语义,从而实现了有序性。as-if-serial语义 把单线程程序保护了起来,遵守as-if-seria

2020-05-19 21:34:42 159

原创 消息中间件 - RabbitMQ的认识

定义高效:对于消息的处理处理速度快。可靠:一般消息中间件都会有消息持久化机制和其他的机制确保消息不丢失。异步:指发送完一个请求,不需要等待返回,随时可以再发送下一个请求,既不需要等待。为什么要用消息中间件?低耦合 : 低耦合,不管是程序还是模块之间,使用消息中间件进行间接通信。异步通信能力 :异步通信能力,使得子系统之间得以充分执行自己的逻辑而无需等待。缓冲能力 :缓冲能力,消息中间件像是一个巨大的蓄水池,将高峰期大量的请求存储下来慢慢交给后台进行处理,对于秒杀业务来说尤为重要。伸缩性 :

2020-05-12 14:32:12 234

原创 分布式 - 任务调度

多节点重复执行某一任务大量的任务管理困难某些大型任务耗时超长,需要切分给多台机器并行执行X-Job 侧重的业务实现的简单和管理的方便,学习成本简单,失败策略和路由策略丰富。推荐使用在“用户基数相对少,服务器数量在一定范围内,任务数量多”的情景下使用E-job关注的是数据,增加了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源。但是学习成本相对高些,推荐在“数据量庞大,且...

2020-05-08 17:31:37 520

原创 分布式 - 集群环境下session相关问题

Session 共享方案session 集中存储(redis等)。具体过程如下:新增Filter,拦截请求,包装HttpServletRequest(使用HttpServletRequestWrapper)改写getSession 方法,从第三方存储中获取session 数据(若没有则创建一个),返回自定义的HttpSession 实例。在http 返回response 时,提交sessi...

2020-05-08 14:37:11 159

原创 Spring - 定时任务@Scheduled

Springboot中开启定时任务使用定时任务cron表达式语法[秒] [分] [小时] [日] [月] [周] [年]注:[年]不是必须的域,可以省略[年],则一共6个域由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?星期一: Mon 星期2: Tue 星期3: Wed 星期4: Thu 星期5: Fri 星期6: Sat 星期日: Sun...

2020-05-08 11:32:03 150

原创 分布式 - 事务的解决方案

事务有四个特性(ACID),原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)1.编程式事务:使用TransactionTemplate 或者直接使用底层的TransactionManager 来操作事务commit或者rollback。2.声明式事务:建立在AOP 基础上,通过对方法前后进行拦截,加入编程式事务里的流程...

2020-05-07 18:37:42 149

原创 Redis - 缓存一致性

数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。1. 数据实时同步更新更新数据库同时更新缓存,使用缓存工具类和或编码实现。优点:数据实时同步更新,保持强一致性缺点:代码耦合,对业务代码有侵入性2. 数据准实时更新准一致性,更新数据库后,异步更新缓存,使用观察者模式/发布订阅/MQ 实现;优点:数据同步有较短延迟,与业务解耦缺点:实现复杂,架构...

2020-05-07 16:30:21 168

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除