摘要:
import java.util.ArrayList; import java.util.List; /** * Created by itworker365 on 5/10/2017. */ public class digui { public static void main (String[] args) { List list = new ArrayLis... 阅读全文
:: :: :: :: :: 管理 |
摘要:
import java.util.ArrayList; import java.util.List; /** * Created by itworker365 on 5/10/2017. */ public class digui { public static void main (String[] args) { List list = new ArrayLis... 阅读全文
摘要:
1. 高并发缓存/共享session: UserInfo getUserInfo (long id) {} 取: userRedisKey = "user:info:" + id; value = redis.get(userRedisKey ); if (value != null) { user 阅读全文
摘要:
A - 1 > B + 1 同一机器,锁 不同机器: 两阶段提交(性能,网络开销,锁--不行) Prepare(对所有映相关数据加锁)(A - 1) at 机器A->prepare (B + 1) at 机器b ->commit(A) ->commit(B) 因为A必须要保证不为负值,但是B只是增加 阅读全文
摘要:
异步,最终一致性,幂等操作 关系型数据库隔离了数据的存储路径,让用户只关心查询的逻辑,为了实现事物和强一致性通过各种锁牺牲了性能 互联网在线处理需求排列 数据的扩展性 > 请求的响应时间 > down机时间 > 成本 > 快速自动恢复 > 数据的读取一致性 > 开发相关 多机事物 多机join 分布 阅读全文
摘要:
持久化存储是发送者发送消息后,消息中心首先将消息存储到本地文件/DB(activemq_msgs(存储消息),activemq_acks(订阅关系)和activemq_lock(集群环境下用)),然后试图将消息发送给接收者,发送成功则将消息从存储中删除,失败则继续尝试,消息中心启动后首先检查指定的存 阅读全文
摘要:
DB分布式-两种方式 1. JDBC扩展 sharding-jdbc: 直接封装JDBC,代码迁移成本低,适用于任何连接池及ORM框架,JAR包提供服务,未使用中间层,不用额外部署,DBA无需改变原有运维方式,使用DRUID sql解析器,速度快。 分布策略灵活,SQL解析功能完善,能支持分布式生成 阅读全文
摘要:
JDK DelayQueue 内部一个PriorityQueue保存所有的delay对象,堆顶保存了快到期的任务 消息相关网站: 1. 客户端轮询服务器获取消息 2. comet长连接推送消息,实时性,客户端服务器端压力小(如果管理长连接) JS带着用户信息请求长连接,服务器用list/queue保 阅读全文
摘要:
简易版本:分离与元素类本身关系不大且是易变的操作,使之符合单一职责原则 定义访问接口 定义主体类 JDK中以及很多框架都有类似设计,我理解的好处是将处理逻辑由外部传入,减少耦合。 真正的访问者模式,抄自网络,重在理解。 阅读全文
摘要:
最近在研究系统设计方面的东西,发现有很多通用的解决方案,包括spring配置扩展以及serviceLoader的应用,这里简单记录下serviceLoader的简单应用,网上例子很多,大同小异,本人觉得最主要的是能懂得思想,运用到系统设计之中 基本代码结构是这样的 首先定义服务接口 再来定义它的实现 阅读全文
摘要:
There are two method origin token , you can use any one of them, first one may be easier.Origin from https://developers.facebook.com Tools & Suppo... 阅读全文
|