每周阅读(8/1/2016)

如何实现超高并发的无锁缓存?

在【超高并发】,【写多读少】,【定长value】的【业务缓存】场景下:
1)可以通过水平拆分来降低锁冲突
2)可以通过Map转Array的方式来最小化锁冲突,一条记录一个锁
3)可以把锁去掉,最大化并发,但带来的数据完整性的破坏
4)可以通过签名的方式保证数据的完整性,实现无锁缓存

继续了解Java的纤程库 - Quasar
Java coroutine 库: https://github.com/pinterest/quasar-thrift

Fibers are not meant to replace threads in all circumstances. A fiber should be used when its body (the code it executes) blocks very often waiting on other fibers (e.g. waiting for messages sent by other fibers on a channel, or waiting for the value of a dataflow-variable). For long-running computations that rarely block, traditional threads are preferable. Fortunately, as we shall see, fibers and threads interoperate very well.

一个完整的微服务系统,应该包含哪些功能?

一个完整的微服务系统,它的底座最少要包含以下功能:
-日志和审计,主要是日志的汇总,分类和查询
-监控和告警,主要是监控每个服务的状态,必要时产生告警
-消息总线,轻量级的MQ或HTTP
-注册发现
-负载均衡
-部署和升级
-事件调度机制
-资源管理,如:底层的虚拟机,物理机和网络管理

以下功能不是最小集的一部分,但也属于底座功能:
-认证和鉴权
-微服务统一代码框架,支持多种编程语言
-统一服务构建和打包
-统一服务测试
-微服务CI/CD流水线
-服务依赖关系管理
-统一问题跟踪调试框架,俗称调用链
-灰度发布
-蓝绿部署

Is There Any Room for the Not-Passionate Developer ?

I guess that’s how passionate people do it, they have different topics outside of their main work :
-they read books about programming
-they have their own side projects]
-they read articles about programming
-they might maintain a programming blog
-they might attend, organize or speak at meetup
Most of the time, this does not make for more work, but rather for more learning. If I’ve noticed that all the great programmers around me are passionate and strive to improve at their craft, I’ve also noticed that overworked workaholics usually aren’t very productive.

每周阅读(8/1/2016)_第1张图片
Paste_Image.png

China’s tech trailblazers
关于中国的创新

你可能感兴趣的:(每周阅读(8/1/2016))