摘要:
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。 ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每 阅读全文
2016年4月7日
2016年4月6日
摘要:
问题来源: 创建一个游戏系统,其将运行在互联网的环境中。客户端通过WWW服务或特定的客户端软件连接到游戏服务器,随着流量的增加,系统不断的膨胀,最终后台数据、业务逻辑被分布式的部署。然而相比中心化的系统,复杂度被无可避免的增大了,该如何降低各个组件之间的耦合度。 挑战: 需要保证可伸缩性、可维护性、 阅读全文
摘要:
对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行: 1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使用较为复杂,因此采用curator-recipes工具类进行处理服务的注册与发现。 2.客户端使用连 阅读全文
摘要:
RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 RPC 可基于 HTTP 阅读全文
摘要:
唯品会RPC服务框架与容器化演进 唯品会RPC服务框架与容器化演进 今天要讲的题目比较热,但也比较“简单”,因为有很多公司大型系统已经在用。我的演讲内容包括两个方面:一个是分布式架构的实践,另外一个是服务体系中容器化怎么做。 分布式服务框架实践 可能大家很多都听过服务化,或者叫微服务,但是这个“微” 阅读全文
2016年4月5日
摘要:
使用命令 (1) losf | grep deleted 查询所有已经删除但是还未释放空间的进程,找到容量最大的线程,kill -9 pid 然后等待容量释放 (2) netstat -ano | grep 端口号 (3) lsof -i :8083 有时候关闭软件后,后台进程死掉,导致端口被占用。 阅读全文
2016年4月1日
摘要:
(1) QC (2) redmine (3) jira (4) bugzilla (5) 禅道 (6) easybug (7) techexcel (8) mantis 阅读全文
摘要:
深入了解 HTTP 就绪状态 0:请求未初始化(还没有调用 open()) 1:请求已经建立,但是还没有发送(还没有调用 send()) 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。 3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。 4:响应已完成; 阅读全文
摘要:
(1) uptime 查看系统运行时间、连接数(终端连接数)、平均负载 (2) top 查看CPU、内存、交换空间使用情况,可以看到当前系统性能进程消耗资源情况 (3) vmstat 统计系统CPU、内存、swap、io情况, 例:vmstat 1 4 一秒一次的频率,一共采样4条记录 CPU占用过 阅读全文
2016年3月31日