1
pengtdyd 2023-03-16 10:30:55 +08:00 6
行业里面有一句话:跟着微软混,三天饿九顿。
吃技术饭,远离微软。 |
2
402124773 2023-03-16 10:31:27 +08:00 1
微软起个大早,赶个晚集的事情非常多
|
3
ospider 2023-03-16 10:31:48 +08:00
xmlhttprequest 还是微软第一个加的呢,你上次用 ie 是什么时候了?
|
4
opengps 2023-03-16 10:35:05 +08:00
及时不对比微软,谷歌也确实是很多东西都在靠开源等方式占领了主流市场,比如搜索,比如浏览器,比如谷歌地图
|
5
tool2d OP @ospider 我觉得最主要还是早期微软把 linux 当成竞争对手,没有做针对 linux 版本的开源和优化。光 windows 上的 rpc 没人来用啊,服务器很多都是 linux 的。
现在微软终于想通了,vscode 都是全平台发布。早就应该打不过就加入。 |
6
tool2d OP |
8
chawuchiren 2023-03-16 10:50:41 +08:00
@402124773 2015 年微软发布了一个展望未来的视频,不知道它自己能抓住几个实现
|
9
seakingii 2023-03-16 10:51:21 +08:00 1
@402124773
"微软起个大早,赶个晚集的事情非常多" 有道理 ,不少技术在我看来其实思想还是可以的,但是微软就是自己都坚持不下去,也推广不起来. 比如 Windows Mobile , WPF 的 MVVM, 远程调用还有个技术叫 WCF |
10
lesismal 2023-03-16 11:03:56 +08:00 2
gRPC 的设计其实挺一般的。基于 HTTP2.0 ,解决不了 4 层线头阻塞,对于 RPC 这种应用场景,集群内多是内网、用 HTTP2.0 是浪费不如直接 TCP 省去加密。streaming 也不是什么优秀玩意,只是相当于在 request and response 基础上前进半步。唯一优点就是多语言。
|
11
ospider 2023-03-16 11:18:38 +08:00
@tool2d 是的,鲍尔默的路子是走不通的,自己搞一套再优雅也没用,别人只会把你的注意抄过来另起炉灶。gRPC 真的非常一般,尤其是我最常用的 python 客户端更是坑爹,自己起个循环搞乱了好多东西。我现在倾向于用 thrift 或者直接 http2+simdjson.
|
12
dexterzzz 2023-03-16 11:33:27 +08:00
当年的 RPC 是和 IBM,Oracle 竞争.
WCF,BizTalk,在 ERP,CRM 领域用 |
13
BwNVlwSq 2023-03-16 11:52:40 +08:00
不要跟着微软混😂
|
14
wanguorui123 2023-03-16 12:31:35 +08:00
以前用的最多的是 WebService
|
16
swulling 2023-03-16 13:20:40 +08:00 1
@lesismal
1. 即使是内网环境,所有的流量也应该加密,哪怕是 TCP 也应该套 SSL 。不搞这个你连等保都过不了。 2. 线头阻塞是个啥玩意,说的是 HOL blocking ?这个一般不是翻译为队头阻塞么。 这里有点矛盾,因为 TCP 的队头阻塞是在丢包率比较高的网络中才有较大的影响,如果不丢包也就没什么阻塞一说了,而你之前论证不需要 SSL 说是内网环境,内网的丢包率通常是非常低的。 另外 TCP 的问题和 gRPC 有啥关系,你换其他 TCP 上的 RPC 实现不是一样的问题么。连解决方法,比如 multiplexing 都是一样的,别的 RPC 能用,gRPC 也能用。 当然你可以换基于 UDP 的 RPC 实现,gRPC 社区我看也在做基于 QUIC 也就是 HTTP3 作为传输层的工作。 |
17
mxT52CRuqR6o5 2023-03-16 13:24:23 +08:00
想做行业标准的话,不搞开放,那就是成心不想好好做
现在的微软在开放方面做的事情真的好多了 |
18
ysc3839 2023-03-16 18:25:33 +08:00 via Android
微软这个 RPC 主要是给 Windows 用的,印象中并没有做成一个跨平台的库,自然不会流行
|
19
agagega 2023-03-16 19:02:50 +08:00
在「起个大早,赶个晚集」这件事上,你有没有听过一家叫 IBM 的公司……
|
20
pipilu 2023-03-16 19:22:11 +08:00
你们听说过 WPF ,WCF 吗
|
21
nicebird 2023-03-16 19:46:02 +08:00
因为不好用啊,com 都死了。
|
22
dobelee 2023-03-16 21:53:15 +08:00
吃饭还得跟 Google 混。
Ads 、Youtube 、Android 、Golang 、Chrome 、gRPC 、TensorFlow... 浓眉大眼的巨婴不靠谱... |
23
leeg810312 2023-03-16 21:55:10 +08:00 via Android
感觉这楼里包括 OP 在内很多技术人都还是活在微软是靠卖 Windows 赚大钱的年代,Windows 只占微软业务总量一个零头都多少年了
|
24
lesismal 2023-03-20 12:34:25 +08:00
@cassyfar 先了解下为什么 Google 搞 QUIC 并被采纳作为 HTTP3.0
> 1. 即使是内网环境,所有的流量也应该加密,哪怕是 TCP 也应该套 SSL 。不搞这个你连等保都过不了。 那这么说吧,很多家其他大厂的 RPC ,是没用 TLS 的。是不是这些大厂就做错了?不是每种服务都要等保流程的,否则安妮这个所有流量都要加密的说法,是不是数据库、redis 这些基础设施都要 TLS ?但实际情况是多数这种内网基础设施都没用 TLS 连接、只是 4 层 TCP 而已,否则性能直接掉一块。 也不是哪个东西用的多就一定它是对的、别人是不好的。就像 windows 比 macos 用户多多了但微软被喷那么多,就像 HTTP1.x 目前仍然是互联网主要流量,2.0 搞这么多年也没普及反倒是委员会老爷们在 2.0 没普及的情况下直接跨过去投票点赞支持 3.0 了,为啥?因为 1.x/2.0 都是垃圾啊! GRPC 用的最多,一是谷歌背书,二是数量占据多数的中小厂商不具备自研这种基础设施的能力,你看看大厂基础设施,几乎都有自己的轮子,为啥 GRPC 不一统江湖了?先看看性能测试数据?先区分下不同场景加密的必要性? > 2. 线头阻塞是个啥玩意,说的是 HOL blocking ?这个一般不是翻译为队头阻塞么。 一个概念多种叫法没什么奇怪的,”队头“更偏学术一点的用词、“线头”更形象化偏口语一点而已,这里也有线头: https://baike.baidu.com/item/%E7%BA%BF%E5%A4%B4%E9%98%BB%E5%A1%9E/1462441 也可能是年纪大一点的我们那个年代叫线头的多一些。另外有些东西是约定俗成,比如“粘包”这种错误定义,但其实提到它大家也知道是啥意思,所以约定俗成了也就不要纠结字眼 > 这里有点矛盾,因为 TCP 的队头阻塞是在丢包率比较高的网络中才有较大的影响,如果不丢包也就没什么阻塞一说了,而你之前论证不需要 SSL 说是内网环境,内网的丢包率通常是非常低的 我不是理论论证,而是就实时论事,比如你如果担心内网流量被抓包,那为什么不先担心下为什么被入侵了提权了,被入侵了难道不比被抓包更严重更可怕吗?别人有更多方法搞事情可都是比抓内网包省事多了。最常见的部署挖矿代码、勒索病毒、登入你的数据库、篡改你的服务挂马之类的,但很少听说别人都入侵了然后还靠抓包这种费时费力拐弯抹角的方式搞事情的。当然,性能不是主要需求的,内网加 TLS 也完全没问题。 还有就是自己的工作实践、以及行业实际情况,你可以随便看看各大厂相关的开源项目,RPC 不用 TLS 的场景多了去了。 > 另外 TCP 的问题和 gRPC 有啥关系,你换其他 TCP 上的 RPC 实现不是一样的问题么。连解决方法,比如 multiplexing 都是一样的,别的 RPC 能用,gRPC 也能用。 同样的,你先了解下为什么 Google 搞 QUIC 并被采纳作为 HTTP3.0 > 当然你可以换基于 UDP 的 RPC 实现,gRPC 社区我看也在做基于 QUIC 也就是 HTTP3 作为传输层的工作。 这里你自己都说了社区有在做基于 QUIC ,和上面一样,为什么不继续用 2.0 ?同样的,你先研究明白为什么 2.0 解决不了 4 层的线头阻塞就明白了。我提示一下:mutiplexing 解决不了是因为它是 7 层的策略,而 TCP 线头阻塞是 4 层,你 multiplexing 是基于别人 4 层实现的,4 层自己先堵车了,7 层动都动不了、怎么解决。。 这方面文章很多,随便找下认真看看就懂了,我就不展开说了 |