V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lesismal  ›  全部回复第 5 页 / 共 63 页
回复总数  1254
1  2  3  4  5  6  7  8  9  10 ... 63  
这么多人说行, 听得我都心动了
76 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@james122333 如果有兴趣, #109 里的链接 "2022 Go 生态圈 rpc 框架 Benchmark" 这个帖子的性能对比可以看下, 性能强的基础上, 功能也比其他的 rpc 更丰富, 场景支撑能力更强, 扩展性也极强, codec, 中间件, 协议编解码都可以扩展. star 不如他们多不代表库没有他们好, 写得晚, 而且我个人没有大厂团队那么大的能量去推广罢了
76 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@james122333 #144

> 看了看它就不只是个 rpc... 是长连线 也可以做完断线 呼叫满满的 http style 拿来当 http server 也无不可 不应该以 rpc 为名

大多数人对网络交互都局限在 web 相关那一套了, web 的人最多, 命名 arpc 一是为了讨好社区, 因为其他领域的受众太少了, 二是, rpc 也确实是一个大的功能项, rpc 也是 arpc 的主力功能之一而且把 arpc 用作 rpc 只比其他的 rpc 强(单说 golang, 其他语言我没那么多精力去实现和维护)

按 rpc 的定义, http 本身也是一种 rpc, 所以 http style 这种说法不准确, 至于拿来当 http server, http 做静态资源服务的话肯定是不适合用 rpc 来做, 至于 api, 确实可以用 rpc 替代, arpc 支持这么做的

最重要的是, 更广阔的场景, 其他 rpc 很难支持, 比如做 IM, 游戏, 推送服务, 用其他的 rpc 就不那么适合了, grpc 的 stream 一定程度上可以做一些, 但是 grpc 使用起来太麻烦了而且也局限, 远不如 arpc 灵活

网络交互, 就像我在 arpc readme 里写的, 主要就是 req-res(请求+响应), notify/push 不需要相应, 两个方向 client -> server 和 server -> client, arpc 都支持, 更多的业务场景, 一套全搞定. 不需要很多项目需要 server 推送那样再单开一个 ws 来做, arpc 当 rpc+server push 随便弄
泡茶, 即热饮水机出的所谓 100, 跟烧开的水对比下就知道了. 烧开的那才是真的 100
@cskeleton #39 监管, 合规, 就可以了, 否则即使有多套系统, 人家不告诉你, 你也没办法. 重要的是合法合规, 他们是国家队, 先不论过往股市如何, 单说正常流程上, 这些事应该由监管和合规这些来把控, 而不是你我在这猜测别人怎么搞就会被告不公平. 还是那个观点, 你先想想清楚为什么节前卡单那么多没被告再讨论吧
76 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@james122333 #140

标准库 rpc 对于多数人可能足够用了, 性能上虽然没有什么额外的优化例如 pool 或网络的优化, 但也比很多垃圾框架要强了

另外, 你可能把 arpc 想简单了, arpc 是通用网络框架, rpc 只是一个功能罢了, 比标准库 rpc 丰富多了, 性能也更强

而且, 标准库 rpc 可能还是需要有一些额外的坑需要处理的, 我没做测试只是基于简单扫了下标准库 rpc 代码的猜测, 不一定准确: 比如最基本的例如 timeout/context 好像是不支持, 如果只用普通默认参数没有设置 TCP Keepalive, 赶上 server 设备意外掉电或者维护重启没有 TCP EOF 则 client 的 Call 就可能死等着阻塞了, 自己做一些额外的封装也不麻烦, 只是如果这样子, 还不如别人都支持了的方便
当然, 只要满足你们的需求足够用就可以了
76 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@fox0001 @lesismal #141 但 grpc 即使让用户可选传输协议是否 TLS, 也只是相比于它自己好得多, 仍然只是个 rpc 罢了. 我的 arpc 其实是通用网络框架, rpc 只是一个功能罢了
76 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@fox0001 grpc 就是因为强制 HTTP2 才拉垮的, rpc 场景多数是内网可信的环境, HTTP2 的 TLS 就成了性能的累赘. 如果不是强制 HTTP2, 而是可选传输协议, 让用户自己选择是否直接使用 TCP 或者使用 TLS 等加密通道, 则会好得多.
78 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@helone #32 字节的 http 和 rpc 的 benchmark 数据是自称的,第三方测评跟他们官方的数据不太一致,最好是把测试条件对齐、自己跑下实际代码看看真实数据。另外,他们这些基于自家 netpoll 的库,在一些场景消耗不太正常,甚至用空间换时间、内存消耗比其他框架高的多、稳定性也存疑(我压测的时候就遇到过多次卡死、但其他框架都没事),如果生产上允许比较高的 cpu 那可能影响业务稳定性,如果只允许有限的连接数,那每个节点又没法省更多(跟其他 go 框架相比)
78 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@james122333 arpc 的例子,可能比标准库 rpc 用起来还要简单些吧,像 net/http 一样简单:
https://github.com/lesismal/arpc?tab=readme-ov-file#quick-start
78 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@james122333 标准库 rpc 算是中规中举,各方面一般。也可以看下 #109 我贴的连接,测评是鸟窝老师做的,最快的那个应该算是我的 arpc ,更快,使用简单,而且功能丰富得很,可以支持的业务场景也更多,包括推送、游戏、IM ,普通 rpc 是很难做这些场景的,欢迎体验
79 天前
回复了 2020583117 创建的主题 职场话题 半夜了,诉苦一下吧,希望大家见谅
这不是你的错, 继续找工作就是了, 心情不好的时候可以去锻炼, 锻炼能提升心态, 心态好了, 找工作也会更顺利

祝好!
79 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@fox0001 grpc 有啥可震惊的... 主要就是靠着谷歌爹的光环, 另外就是郭德纲那句: 同行(thrift 那些垃圾)衬托

grpc 除了跨语言优势, 性能不值一提:
https://colobu.com/2022/07/31/2022-rpc-frameworks-benchmarks/
> “庄家都是用的新系统,比散户的速度快,优先级高”。

@cskeleton 庄家可比这优势大多了. 比如吧, 庄家们知道各种数据, 资金流向, 重要点位资金支撑或者阻力, 庄家操盘的时候上下扫很多也都是根据这些吃来吃去, 散户相当于明牌

系统卡单不只是股票, 12306 谁能抢到票, 双十一谁能抢到最有价格, 都涉及公平, 但几乎没有告的先例, 法律上就没法支撑, 否则就没人做技术了, 因为风险太大, 系统一撑不住就要吃官司被告到破产
80 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
> 说了这么多,我只能说 go 其实更适合个人开发者和成本敏感型得小团队,因为一般这样团队,都自己写程序,最大得成本就是云服务得开支了,最后再说一句云服务器得内存,cpu,宽带真得很贵,动不动类似 spring 全家桶那样得架构真得狠费机器。

OP 格局低了, 越大团队越大业务, 省的越多. OP 个人只省了这点成本就很可以了, 对于大业务量, 那节约的成本可是大太多了

顺便安利下我这个是给大业务节约成本的仓库, 量小的标准库更适合:
https://github.com/lesismal/nbio
@cskeleton
看下#27 这句:
"
灰度可以从很小的用户数量开始, 可没说你得一半新一半旧;
可以是内部或者相关机构开放一部分账户进行测试, 可没说必须都让普通用户先上去直接当炮灰
"

再看下#28, 节前那么多被卡单的, 为啥不去告上交所.
如果想改变, 那只能学社交了, 但性格本身不适合, 难度会比较大, 不如技术专家路线那么心里干净

另外, 建议不要随便就拿自己跟马斯克乔布斯他们比, 别以为他们脾气差自己也可以, 级别相差太大, 没可比性的, 而且他们可都是全球第一产品经理级别的人
> 到时候如果同样订单一个系统能成交,另一个不能,或者一个价格好一个价格坏怕不是要吃官司

@03 而且, 如果照这么说, 价格高低好歹能成交, 节前那次被卡单的连成交都成交不了让人家上不了车, 早都该去告上交所了
@03 #16 要是信心和实力足够, 直接上一套新的也行.


按照其他层说的, 如果是采购的别人现成的不好改造, 那灰度确实很难搞. 如果可以改造, 那么:

> 到时候如果同样订单一个系统能成交,另一个不能,或者一个价格好一个价格坏怕不是要吃官司

灰度可以从很小的用户数量开始, 可没说你得一半新一半旧;
可以是内部或者相关机构开放一部分账户进行测试, 可没说必须都让普通用户先上去直接当炮灰


> 部分?灰度?交易所可不像互联网一部分用户打不开或者卡了也没什么。

所有用户全用不了的影响大, 还是少量人不能用影响大?

别瞧不起互联网, 支付宝微信这些 FIN Tech, 哪个不是涉及钱的

撮合系统的算法服务部分应该是没太大压力, 因为本来就可以按照股票 id 分散到不同的撮合节点, 卡住主要是订单和结算这些数据事务性相关的, 解决这部分性能, 撮合系统把交易来源和结算的部分按照用户分流到新旧不同的系统就可以了, 但业务上肯定影响挺大的, 改造肯定是要喝一壶的
1  2  3  4  5  6  7  8  9  10 ... 63  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2767 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 08:05 · PVG 16:05 · LAX 00:05 · JFK 03:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.