想写个高性能版 Nextcloud 后端,用 Rust 还是 Java 好?

2021-09-16 00:22:47 +08:00
 rv54ntjwfm3ug8

不考虑 Go,非常不喜欢 Go 这个语言。 Rust 部署方便,社区支持好,但貌似还不是成熟,很多包连 1.0 都没发出来。 Java 目前还是后端第一语言,比 Rust 成熟不少,但部署不是很方便(虽然打 Docker 镜像都差不多),资源占用也比 Rust 高。

7658 次点击
所在节点    Java
56 条回复
seakingii
2021-09-16 10:45:38 +08:00
网络服务,GOLANG 首选
Ayanokouji
2021-09-16 10:47:16 +08:00
java + graalvm native ?
systemcall
2021-09-16 10:48:17 +08:00
用 C#试试吧
现在的生态也不错了。而且性能也有保障,低内存设备其实也还好,部署非常方便
Wincer
2021-09-16 11:37:46 +08:00
问得出这样问题的人,我不觉得楼主能写出来高性能的 NextCloud 客户端~当然,欢迎楼主打我脸
a22271001
2021-09-16 11:43:45 +08:00
@byte10 网上一堆参数优化文章杂七杂八的,我看了下干脆放弃了。。。
mmdsun
2021-09-16 12:41:24 +08:00
Java 云原生还是不行至少等 spring 6 出来,spring native GraalVM 还有很多小 bug.

不想用 go 可以考虑 .NET core,C#。

https://dotnet.microsoft.com
mringg
2021-09-16 13:20:34 +08:00
个人感觉,还是用自己比较熟悉的语言写起来,之后想改成其他语言再说就好。
zysuper
2021-09-16 13:44:27 +08:00
个人喜欢不喜欢重要吗? 能方便的干活赚钱不香吗?
villivateur
2021-09-16 13:50:47 +08:00
你确定你要重写 nextcloud ?
这个工作量可不是几天几个月能搞定的
DsuineGP
2021-09-16 14:58:24 +08:00
@agagega async/await 我上生产环境都一年了。
但是有一说一,只是用来写 web 的话真不如 spring 一把梭
用了 Rust 各种轮子都得自己造,开源的轮子要么没有要么不圆
devcat9
2021-09-16 15:01:59 +08:00
@DsuineGP Rust 范型好用吗?除了轮子的话,写业务逻辑还有什么坑?
angryfish
2021-09-16 15:08:50 +08:00
为啥 不用 php 写呢,狗头
dimlau
2021-09-16 15:17:59 +08:00
喜欢不喜欢的……

OwnCloud 在用 Go 重写啊:

https://github.com/owncloud/ocis
DsuineGP
2021-09-16 15:43:25 +08:00
@devcat9 比较大的坑是要避免在异步运行时( tokio )里面运行另一个异步运行时( tokio )
比如一开始是在异步函数内部调用一个同步函数,之后需求改了你想在同步函数内部再调了另一个异步函数(比如网络请求之类的)就很困难
范型的话,只要不涉及到生命周期参数就还挺好理解的,但是因为不像 java 有类继承,Rust 要想代码优雅至少得学会声明宏和派生宏的使用
allanpk716
2021-09-16 15:48:20 +08:00
楼主的意思是 rust 比 java 容易部署吗? doge
NjcyNzMzNDQ3
2021-09-16 15:49:24 +08:00
nextcloud 卡是因为用户关闭窗口,后台程序还在读取文件,读到结束才关闭。

借楼推荐下 php 版本的 filerun 自用啥问题都没有。
https://filerun.com/
PDX
2021-09-16 15:51:45 +08:00
用 quarkus 写,然后编译成 native
devcat9
2021-09-16 16:12:08 +08:00
@DsuineGP 感谢!写业务代码的效率看起来还行?

宏会不会过多影响可读性?
wph95
2021-09-16 16:24:13 +08:00
> Java 目前还是后端第一语言,比 Rust 成熟不少,但部署不是很方便(虽然打 Docker 镜像都差不多),资源占用也比 Rust 高。

graalvm 了解一下 quarkus 了解一下
littlewing
2021-09-16 16:26:36 +08:00
php

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

https://www.v2ex.com/t/802154

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

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

© 2021 V2EX