[讨论] 大家来聊聊,不实用 Java 实现的微服务

2019-08-09 09:47:30 +08:00
 itskingname

但凡你在 Google 上一搜索微服务,你就会发现全都是使用 Spring 全家桶来实现的。

微服务架构本来应该是语言无关的,但是被这群使用 Java 的人搞得就像是专门为 Java 定制的一样。

欢迎各位在这里讨论一下,在你们的项目中,有项目使用了微服务架构,但是没有任何一个地方使用 Java 技术栈吗?具体是怎么做的?用的是什么语言?

8322 次点击
所在节点    程序员
99 条回复
dunhanson
2019-08-09 17:28:54 +08:00
@xsir2020 链接打不开啊
visonme
2019-08-09 17:51:31 +08:00
不好实现,不好实现不是技术上存在难点,而是放着成熟的第三方组件 /产品不用,自己造个,没感觉这种方式好。

以前在 nodejs 下,实现过,也只能做个轻服务架构,有些东西全部依赖 nodejs 构建,实现没问题,就是效果不理想。

后面用 net core 做过,也借助了一些 go/c++开发的组件 /产品
abcbuzhiming
2019-08-09 17:59:46 +08:00
@cabing 网关和配置中心好说,服务发现和链路追踪其实有难度,想做好并不容易,比如服务发现最符合的 CAP 倾向是倾向 AP,但是除了 eureka 这个已经不再更新的之外,后来的服务发现都是 CP 设计。
xsir2020
2019-08-09 18:21:11 +08:00
@dunhanson
应该是中文链接有空格的缘故,
Microsoft REST API 指南

试试这个链接
https://www.hn-tech.net/2019/08/02/%E6%8A%80%E6%9C%AF/Microsoft%20REST%20API%E6%8C%87%E5%8D%97/
endy
2019-08-09 20:32:41 +08:00
不好意思,java 就这么为所欲为
cabing
2019-08-09 21:11:49 +08:00
@abcbuzhiming 一般的业务 A 没有很强的要求,可以在短时间内实现最终一致性。

对一致性需求比较强的业务,只能做额外的处理了~
jhdxr
2019-08-09 21:21:07 +08:00
我大概能够理解题主的观点,本身是一个语言无关的东西,却似乎被 java (或者说 spring cloud )弄成了一个事实标准。

原因很简单,就是如果我想上微服务,有很多基础设施要搭(甚至自己实现),这时候有现成的当然最好了,springcloud 全家桶东西很全,资料也丰富,并且也能够和别的语言协作(优雅和性能是另外一回事),自然成为了第一选择。

其实备选项也还是有的,比如 AWS 也提供了全套解决方案。但被某一个云平台绑死,和被某一个语言绑死。我选后者。

再有,更理想的情况是比如类似 HTTP,我只是制定了传输的规范,但你可以用不同语言去实现。如果微服务中的各个基础设施能够有这样的规范,然后哪怕不同语言实现的基础设施也能一起协作,似乎会更理想一些。(理论上 spring cloud 的那些可以有别的语言的实现,但实际上并没有,因为它并不像 java 有 specs,它的实现就是标准。。。参考 php 就只有 zend engine,Facebook 当年想搞一个新的时候还得先自己整理一遍 specs )
iffi
2019-08-09 21:59:59 +08:00
别吵了,PHP 是世界上最好的语言
janxin
2019-08-09 23:46:31 +08:00
@jhdxr 其他语言也有类似的选项,很多楼上也提过。不过用 Java 最近几年多是不争的事实,要想超过 Java,要靠社区每人的力量,多产出高质量的优秀文章才行
itskingname
2019-08-09 23:54:03 +08:00
@jhdxr 终于遇到认真讨论问题的明白人了。
yiyi11
2019-08-09 23:59:46 +08:00
所以说,老有人吐槽 java 啰嗦,笨重,好的语言好的语法有很多,但是 java 真正屹立不倒的原因是生态为王。
yiyi11
2019-08-10 00:01:30 +08:00
springcloud 和 java8 刚出来的时候,有句话叫,20 年过去了,java 的春天才刚刚开始。
nichijou
2019-08-10 00:10:56 +08:00
lz 情商低,认个错得了,还在一直赞没喷自己的为明白人,等于把其他人又都骂了一遍。
passerbytiny
2019-08-10 08:57:10 +08:00
@itskingname #85 “下沉此贴,另开一贴,只说明需要是不使用 Java 实现微服务”,如果你在刚开始被怼的时候就这么干,你会得到你想要的讨论。现在,建议你重新注册。
luozic
2019-08-10 09:19:39 +08:00
基于 knative k8s 构建分布式微服务系统,咋就一定要 Java 了?
cnzjl
2019-08-10 09:52:05 +08:00
只是 Java 人的数量比较庞大而已,而且现在用 SpringCloud 的又比较多,所以搜索引擎权重占比比较高吧,楼主看到这个没必要这么想吧,如若是其他语言所实现的微服务更好,楼主是不是又要问这样的了?
janus77
2019-08-10 12:54:31 +08:00
你搜的是中文“微服务”吧,国内市场背景下肯定是 java 语言讨论的多一些。
为什么你会产生“搜不到所以没有”的错觉
sazima
2019-08-10 22:35:20 +08:00
micro service -java
intmax2147483647
2021-07-08 10:11:08 +08:00
我司的微服务涉及了三四种开发语言。。。我们用 AWS😥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/590356

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX