2019年11月26日

分布式事务解决方案

摘要: 柔性事务解决方案架构 在电商领域等互联网场景下,传统的事务在数据库性能和处理能力上都暴露出了瓶颈。柔性事务有两个特性:基本可用和柔性状态。所谓基本可用是指分布式系统出现故障的时候允许损失一部分的可用性。柔性状态是指允许系统存在中间状态,这个中间状态不会影响系统整体的可用性,比如数据库读写分离的主从同 阅读全文

posted @ 2019-11-26 12:05 伊斯特里亚 阅读(155) 评论(0) 推荐(0) 编辑

2019年11月25日

countdown模式

摘要: 让前面的线程先做完任务,再让后面的任务开启线程 jdk5后,增加了countdownLatch可以实现 一下是自己设计一个 下午5:31 阅读全文

posted @ 2019-11-25 17:53 伊斯特里亚 阅读(193) 评论(0) 推荐(0) 编辑

并发编程之massege模式

摘要: 以上是一个massege模式,消息的存入和 获取都会加锁,同时也这是了对最大存储的限制,如果超过了限制,就会将线程先阻塞,如果没有消息,就不允许获取信息 生产者线程,将每一个线程生产的数据,都塞到消息队列中 以上是消费者和对生产消费者模式的调用 由于生产者和消费者都是在不断地循环,所以程序在一直得生 阅读全文

posted @ 2019-11-25 17:52 伊斯特里亚 阅读(478) 评论(0) 推荐(0) 编辑

并发编程设计模式之保险箱设计

摘要: 多线程设计上下文模式 上下文模式使用threadlocal进行设计 threadlocal在线程间是隔离的,不共享,用于存储线程的变量 上下文就是在程序的执行过程中,上下文主要就是想传人传出的只都存进去,从而用户就可以忽略程序内部需要传输的值 上下文的多线程设计,可以使用保险箱设计: 这是执行查询和 阅读全文

posted @ 2019-11-25 17:48 伊斯特里亚 阅读(193) 评论(0) 推荐(0) 编辑

2019年11月22日

数据实时推送平台

摘要: 推送工具:webservice 假设接口数:30个 需要做到数据实时推送设置时间为每1分钟轮训一次是否有更新数据,如果有,每个接口开启一个线程,线程保持连接的时间是1.5钟, (白天) 对于频繁更新的数据,长连接 次之的线程,30分钟的存活时间 少的,只有在访问的时候开启,持续的时间是2次轮训 (夜 阅读全文

posted @ 2019-11-22 16:09 伊斯特里亚 阅读(1586) 评论(0) 推荐(0) 编辑

2019年11月17日

futrue设计模式

摘要: future设计模式: 主要的目的就是控制future任务在特定的程序位置返回结果,同时也不会造成程序的阻塞 设计模式主要由三部分构成:futuretask,aysnfuture,futrueservice组成 futuretask:接受需要执行的任务 aysnfuture:判断程序是否执行成功,并 阅读全文

posted @ 2019-11-17 21:23 伊斯特里亚 阅读(162) 评论(0) 推荐(0) 编辑

单线程设计模式

摘要: 包含的元素:gate,user,and client,其中客户端可以去创建门和人,门是需要给人共享的数据 门 问题:以上的功能,在多线程的情况下,姓名和地址不回应,这是因为多个线程去同时访问同一资源gate而造成的 解决方法: 读写锁分离 阅读全文

posted @ 2019-11-17 13:28 伊斯特里亚 阅读(226) 评论(0) 推荐(0) 编辑

2019年11月14日

线程池的设计思想及观察者模式

摘要: 单例模式之懒汉式 饿汉式在多线程的情况小可能会出现多实例的情况 解决1;加锁 解决2:双层判断方式,减少枷锁的次数doubleCheck 3.保证程序的有序性,禁止程序内部优化,从而保证不会出现空指针异常 4.利用jvm只产生一份static,并且是主动加载,实现单例懒汉式 使用枚举模式 volat 阅读全文

posted @ 2019-11-14 23:20 伊斯特里亚 阅读(607) 评论(0) 推荐(0) 编辑

2019年11月5日

session共享的实现

摘要: 解决方案一:基于Nginx的ip_hash 负载均衡 解决方案二:基于Tomcat的session复制 解决方案三:使用Redis做缓存session的统一缓存这种方案呢,其实就是把每次用户的请求的时候生成的sessionID给放到Redis的服务器上。然后在基于Redis的特性进行设置一个失效时间 阅读全文

posted @ 2019-11-05 14:22 伊斯特里亚 阅读(206) 评论(0) 推荐(0) 编辑

2019年11月1日

高并发编程2

摘要: 如果想共享一份数据,可以使用static,使得只产生一份实力 创建线程,默认都会产生一个线程名thread- 如果没有传递runable接口或者实现run方法,则不会执行任何东西 如果构造线程的时候,没有设置threadgrou会获取父线程的threadgroup,此时,父线程和子的在同一group 阅读全文

posted @ 2019-11-01 23:37 伊斯特里亚 阅读(94) 评论(0) 推荐(0) 编辑

导航