V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  diagnostics  ›  全部回复第 6 页 / 共 40 页
回复总数  800
1 ... 2  3  4  5  6  7  8  9  10  11 ... 40  
OP 现在还有新的理解吗?

NIO 的提升应该是用单个 IO 线程处理更多线程,实际的业务处理里面 NIO 和 BIO 是没有区别的。例如 Kafka 一个 Selector 负责 Accept ,一个线程池 Selector 负责读写就是因为单个 Selector 处理 Accept 和读写有瓶颈,希望更多的线程留给业务线程

> nio 性能压榨 bio , 其实是错的。我自己用 4 核 8g 的服务器测试过。webflux 并不能缩短应用处理时间,只有让时间更加平稳,而普通 bio 的处理时间波动相当大。

这个是因为 BIO 会导致 Queuing networks ,你可以看看相关论文,一般会有 LayerQueueingNetworks 来建模分析和优化
101 天前
回复了 xiaoyureed 创建的主题 Java 请教 Mybatis plus 用法
Mybatis Plus 作者那个态度,我是不敢用,出问题不好沟通来修复
缺流量了?
@fantastM #7 可以,Kafka 是用 jdk 原生 nio 写的,一直没换过 netty
@fantastM 别扯淡,Kafka 哪里用过 netty
102 天前
回复了 maokg 创建的主题 程序员 关于编程语言开源项目的一些疑问
@diagnostics #3

补充一个,如果不懂架构和理论基础,去看源码没有意义,真要看,快速补一下理论知识(就算是片面也可以)
102 天前
回复了 maokg 创建的主题 程序员 关于编程语言开源项目的一些疑问
我以我看:akka 、lettuce 、netty 、kafka 、redis 、spring 的经验来讲

1. 首先是先入手源码的基础框架,一般从书籍上获得,实在没有就看文档解释,例如我看了 Kafka 源码剖析的结构部分,akka 实战、netty 实战、java 网络编程
2. 有了整体架构的概念,自己也会根据 API 写代码,那就知道自己会想看什么知识
3. 知道想看啥,也得会背后相应的知识,如 lettuce 的源码要求很懂网络编程,还有状态机; akka 要求分布式、响应式的一些原理,kafka 要求文件 IO 编程,网络编程,分布式系统
4. 从一个问题去看人家怎么写的


简化版:

1. 框架
2. API
3. 理论
4. 工业级实践

懂 1 、2 、3 不一定会写 4 ,4 写出来要高性能、测试完善,还是要功力的。
102 天前
回复了 maokg 创建的主题 程序员 关于编程语言开源项目的一些疑问
编码到一定经验就看得懂了,当然前提是接触的代码一直都是“较高”质量,而不是只有业务的。
好好学习,这个阶段能写出代码来就比别人强了。
不需要太在意规范,需要在意的是学习,不然你代码再强也是牛马
105 天前
回复了 boris1993Jr 创建的主题 程序员 今天在小红书看到个逆天的
@Puteulanus 对,我每一个都点开了,没有一个对开源一年有 3 次以上的贡献度的,纯粹是往互联网倒屎的一批人
105 天前
回复了 boris1993Jr 创建的主题 程序员 今天在小红书看到个逆天的
评论太恶心了,如果真是新人,这氛围真的恶心。。。最后外国人都看不下去了

国内最恶心的就是自己人恶心自己人,天天宣言国外多差,然后国内公司 996 ,随便恶意裁员。国外 965 和 N+1
,国家这经商环境还赶走了一大群外企,属于是劣币驱逐良币了,然后在那抱怨工作环境不好, 不都是自己一点点恶心出来的。

这些在 Github 上这样评论的人,纯粹 TM 的拿计算机当个赚钱投机的路径,但凡经历过老互联网时代和看过介绍什么是开源精神都不会这样对一个新人评论。把 Github 当营销手段,那些评论的人点进去,有几个对开源项目做了贡献?要么一篇空白,要么用博客刷贡献度。恶心,太他妈恶心
@julyclyde #55 源码链接都发给你了,你不会自己看?
快充和电池的化学技术有关系吗?

不是快充协议的问题吗?
@julyclyde #52 https://github.com/real-logic/aeron

TCP 怎么实现,UDP 就怎么实现呗,无非就是解决重传下的去重和乱序,用 UDP 的原因是因为 multicast
去看 LMAX 架构吧,华锐等极速交易平台也是这一套这么干的

总体架构上:

- Event-Driven 用消息驱动而不是共享内存来并发
- 消息驱动实现了持久化机制( Event Sourcing ),也实现了 Replication 复制用来做同步
- 网络层用 Buffer 避免阻塞业务线程
- 可靠 UDP Multicast 而不是 TCP 通信
- FPGA 而不是网卡
- Disruptor 或其他语言上实现的高性能队列(减少线程争用)
@Frankcox 不是一个业务
@wxf666 看距离不行,都是拉专线的,现在都是直接部署在交易所里面了吧,不过下单的交易员都是通过专线连到交易所的机器
@jjtang11 行情源吧,券商、基金都是花 X 万级别去买
1 ... 2  3  4  5  6  7  8  9  10  11 ... 40  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2804 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 13:39 · PVG 21:39 · LAX 05:39 · JFK 08:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.