摘要: Future/Promise 执行逻辑 scala Future 有几个要点,第一个是 tryAwait 需要借助 CowndownLatch 实现,第二个是可以在 Promise 挂载回调函数 首先,大致看下 Scala concurrent 的架构 DefaultPromise Abstract 阅读全文
posted @ 2016-08-24 17:48 SangS 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 做完了 scala parallel 课程作业后,觉得 scala 写并发程序的便捷性是 java 永远都追不上的。scala 的Future 和 Promise,java 里 Future 和 CompleteFuture 实现了类似的功能,但是使用的便捷性还差的很远,java.util.Futu 阅读全文
posted @ 2016-07-25 19:03 SangS 阅读(444) 评论(0) 推荐(0) 编辑
摘要: Apache http client 有两个问题,第一个是 apache http client 是阻塞式的读取 Http request, 异步读写网络数据性能更好些。第二个是当 client 到 server 的连接中断时,http client 无法感知到这件事的发生,需要开发者主动的轮训校验 阅读全文
posted @ 2016-05-31 17:17 SangS 阅读(5364) 评论(0) 推荐(0) 编辑
摘要: 场景: 认证服务器需要有个 http client 把前端发来的请求转发到 backend service, 然后把 backend service 的结果再返回给前端,服务器本身只做认证功能。 遇到的问题: 长连接以保证高性能。RestTemplate 本身也是一个 wrapper 其底层默认是 阅读全文
posted @ 2016-05-31 16:10 SangS 阅读(28864) 评论(1) 推荐(3) 编辑
摘要: 有幸来到美国工作两个月,自己的感受和在国内时的想象完全不同,这或许是因为硅谷这片区域和美国大部分地方都不太一样吧,高收入人群太多导致物价很高,互联网从业人员又多导致这片地方有些沉闷,还有就是亚洲人实在太多了,印度人和国人都快把湾区占领了。看过big bang theory 和 silicon val 阅读全文
posted @ 2016-04-20 00:53 SangS 阅读(432) 评论(2) 推荐(0) 编辑
摘要: 一旦 shard coordinator(相当于分布式系统的 zookeeper) 启动,它就会启动一个定时器,每隔一定的时间尝试平衡一下集群中各个节点的负载,平衡的办法是把那些负载较重的 actor 移动到负载较轻的节点上。在这一点上,我以前的理解有误,我以为 shardRegion 是移动的最小... 阅读全文
posted @ 2015-08-30 21:38 SangS 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 为了使一个项目支持集群,自己学习使用了 akka cluster 并在项目中实施了,从此,生活就变得有些痛苦。再配上 apache 做反向代理和负载均衡,debug 起来不要太酸爽。直到现在,我还对 akka cluster 输出的 log 不是很熟悉,目前网络上 akka cluster 的信息还... 阅读全文
posted @ 2015-08-30 10:24 SangS 阅读(912) 评论(0) 推荐(0) 编辑
摘要: 前几天实验了下 nginx 配置反向代理服务器。虽然 nginx 的安装很麻烦,但是用起来倒是很简单。不过组里没人用过 nginx,apache 服务器大家倒是蛮熟,为了减少 ops team 的工作量,我决定使用 apache。我记得本科时安装过 apache 服务器,当初没有遇到困难。而这次安装... 阅读全文
posted @ 2015-08-19 08:53 SangS 阅读(1030) 评论(0) 推荐(0) 编辑
摘要: 在某项目里,有个 actor 需要做一些持久化的操作,这些操作耗时比较久,理应使用异步的代码来写,但是需求又强调每次只能做一个持久化操作,后来的请求应该等待。一个显然的做法是阻塞式的写,这样就能比较简单的实现顺序花操作。代码写完以后,我觉得在 actor 中 block 不够完美,就想其他的解决方案... 阅读全文
posted @ 2015-08-12 09:39 SangS 阅读(750) 评论(0) 推荐(0) 编辑
摘要: 安装在 Mac 下可以直接使用 homebrew 安装 nginxbrew search nginxbrew install nginx启动 nginx: sudo nginx,访问 8080 应能看到欢迎界面nginx -V 查看 nginx 的启动参数,配置文件的位置默认是--conf-path... 阅读全文
posted @ 2015-08-02 17:56 SangS 阅读(1807) 评论(0) 推荐(0) 编辑