V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
maxxfire
V2EX  ›  程序员

搞软件架构,是不是绕不开 Java ?

  •  
  •   maxxfire · 2020-07-22 13:58:49 +08:00 · 12311 次点击
    这是一个创建于 1576 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题。
    单机和 App 架构就不说了,没什么深度。
    多机、多服务、多并发这类系统,不会 java 都不好意思称自己是架构师吧?
    Java 何以长成这样的大树
    112 条回复    2020-07-24 16:12:28 +08:00
    1  2  
    winterbells
        101
    winterbells  
       2020-07-23 12:40:11 +08:00 via Android
    滴,翻页卡
    namelosw
        102
    namelosw  
       2020-07-23 13:53:58 +08:00
    你这个自我陶醉了不得……

    “没什么深度”,“多机,多服务,多并发” — 一方面这些东西不是直接 Istio 直接往上无脑糊不就行了吗?有啥深度?而且为啥非得 Java ?

    另外一方面现实世界中所谓大部分“Java 架构师”连个能在集群里正确 Sharding 所有 entities 的架构,或者像 Gsuite 那种实时架构都不会写。

    吹可以,但是不用上天。首先架构不需要 Java,其实深度也就那样,深的大家都不会。
    yamasa
        103
    yamasa  
       2020-07-23 14:42:39 +08:00
    你说的这一套在 k8s 搞上 istio,搭上啥语言都可以玩啊,跟 java 有什么关系,k8s 还 golang 呢,redis 集群请你用 java 来写一套?搞 java 的都看不下去,招黑。
    Mithril
        104
    Mithril  
       2020-07-23 15:17:07 +08:00
    @wysnylc 你说的省成本就是一句废话。不是所有领域照搬电商那一套都能玩得转。招一个架构师是来解决问题的,而不是不管什么情况都照搬。
    opengps
        105
    opengps  
       2020-07-23 15:41:31 +08:00
    @urnoob
    @ldxy
    有一点 @wupher 哥们说的对,设备定位环节确实是单向的( GPS 信号是类似于收音机那样只收不发,北斗如果只用定位,不对接短报文等连接功能也是只收不发)

    但是这位老哥没理解到的是接下来的环节(这一步才刚开始进入互联网领域),那就是车载定位器是通过内置的流量卡将位置发回来的,这个过程一般是 4 层的 tcp/udp 等方式。

    物联网跟电商对比:
    4 层通信在相关的服务端处理,可以说跟电商订单业务各有各的区别,但是并不适合对比,单进程维持几万个连接用的锁,跟订单秒杀用的锁,本质没啥不同。电商秒杀付费环节加解密的确安全度更高,但是这跟通信协议解析用的编码规则也大同小异。密集写入数据库考虑的并发,物联网行业也不能说比电商订单更低(不是对比)。物联网最终还得从 webapi 层面对外提供服务,这时候回到 7 层通信,web 层面业务物联网和电商又是没啥区别了
    murmur
        106
    murmur  
       2020-07-23 17:04:51 +08:00
    是的,java 这个名字就决定了他的意义,java 加瓦,添砖加瓦,说明 java 是大型应用的基石
    areless
        107
    areless  
       2020-07-23 17:19:10 +08:00 via Android
    @tkl sphinx 了解下
    urnoob
        108
    urnoob  
       2020-07-23 22:15:50 +08:00 via Android
    @wysnylc 为啥一定要并发才叫有难度,而且这种业务也会有并发,只是和支付下单之类的不同而已。面对服务器启动后短时间内大量连接上来的情况怎么办,连上后又要发通知给上层其他系统。这过程 CPU 和内存十分紧张,但是又要想办法尽可能压榨单机性能。有些还要诊断客户网络导致的断链问题。好多问题都是电商支付类系统碰不到的。而且论业务复杂,对冲业务中涉及多家机构的抵押物借贷,比电商系统复杂太多了
    cco
        109
    cco  
       2020-07-24 09:10:55 +08:00
    爱用啥用啥,找性价比最高的就行,另外语言是工具,虽然 java 涉猎范围相对较广,但也不是说非用不可,当然对于团队协作,java 可能会优于其他语言,毕竟限制很多,写出来的代码也相对比较容易理解。但是人数不多的团队随便一个语言即可,如果能定好规范任何一门语言能做到。
    利益相关:Java Hello World 级工程师。
    bintianbaihua
        110
    bintianbaihua  
       2020-07-24 11:24:42 +08:00
    感觉跟语言无关
    wysnylc
        111
    wysnylc  
       2020-07-24 11:36:32 +08:00
    @urnoob #108 我前面说的很明白,因为用户数据没有争抢所以他的业务完全可以横向扩展也就是加机器解决
    你不懂并发争抢和 QPS 的区别吗?他这是 QPS 高,没有争抢
    urnoob
        112
    urnoob  
       2020-07-24 16:12:28 +08:00 via Android
    @wysnylc 开头就说了不是只有并发这个才有难度。而且你对人家的业务不了解怎么知道就没并发争抢。我做过和他类似的,里面就有各种资源的争抢。而且你说可以加机器横向扩展。但是机器,IP 等等服务都是要付费的。我做过那个小客户给你两台 vm,大客户给你几台刀片机。性能问题首先就是要极度压榨单机性能。否则造客户成本高。现实中有很多系统看上去不如互联网电商类有多少高并发,但是技术业务等难度并不低。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2834 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:25 · PVG 23:25 · LAX 07:25 · JFK 10:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.