之前做压测时用过tsung,这两天闲暇时又简单看了下Erlang这门语言,真是越学越感觉自己的无知啊, 简单总结下。
Erlang的基本特点:
1. 变量不可修改
2. 进程的创建和销毁开销极小
3. 进程间通过消息通讯
4. 对分布式的支持很好
5. 支持热更新
6. let it crash
7. 二进制编解码很方便
8. 由于变量不可修改,因此递归用的多
9. 模式匹配也较为方便
10. 并发写起来相对容易,适合大量无状态连接应用。
没想到最近几年的高并发、微服务等业务架构,erlang在20年前就已经在做了。由于erlang最初就是为电信业务设计的,而这种业务的特点就是高并发,分布式,可靠,高容错等等。由此也可见,业务需求才是第一驱动力,要能够根据具体的业务需求才能设计出合适的架构,而并没有一劳永逸的方案,都是要看场景的,例如现在的非关系型数据库,插入是快了,但是又不支持复杂查询了。正所谓有取必有舍,有得必有失啊!