加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

京东资深架构师:高性能高并发服务的瓶颈及突破思路

发布时间:2021-01-08 06:17:53 所属栏目:安全 来源:网络整理
导读:副标题#e# 《京东资深架构师:高性能高并发服务的瓶颈及突破思路》要点: 本文介绍了京东资深架构师:高性能高并发服务的瓶颈及突破思路,希望对您有用。如果有疑问,可以联系我们。 本文根据DBAplus社群第74期线上分享整理而成 ? ? ? ? ? ? ? ? ? ? ? ? ?

4、小结

如何提升单机服务的性能及并发,如果对性能或者高并发的要求没有达到非常苛刻的要求,选型的时候基于事件驱动的方式可以优先级降低一点,选择普通的多线程编程即可(其实多数场景都可以满足了),如果想单机的并发程度更好一点,可以考虑选择有协程支持的语言,如果还嫌不够,那就将逻辑理顺,考虑采用基于事件驱动的模式,这个在C/C++里直接用select/epoll/kevent等就可以了,在java里可以考虑采用NIO的方式,而从这点上来说像golang这种提供协程支持的语言一般是不支持在程序层面自己实现基于事件驱动的编程方式的.

四、总结

其实并没有一刀切的万能法则,大体原则是根据实际情况具体问题具体分析,找到服务瓶颈,资源不够加资源,尽可能降低每次访问的资源消耗,整体服务每个环节尽量做到可以水平扩展,同时尽量提高单机的有效利用率,从而确保在扛住整个服务的同时尽量降低资源消耗成本.

Q&A

Q1:在用NIO多线程下,涉及到线程间的数据,怎么交互比较好呢?

A1:在NIO的情况下,一般是避免使用多线程,其实NIO本质上和C/C++里使用epoll效果是类似的,所以像nginx/redis里并不存在多线程的情况(内部实现的时候一些特殊情况除外).

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读