开发学校内部使用的平台,该上微服务吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
shangyes
V2EX    Go 编程语言

开发学校内部使用的平台,该上微服务吗

  •  
  •   shangyes 2019-10-07 17:51:28 +08:00 6444 次点击
    这是一个创建于 2226 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要业务比较简单 面向全体的有活动报名、活动日历和活动跟进 面向组织的有活动登记、活动发布、活动认证和总结、导入导出名单 面向管理员的有查看修改各种实体、导入导出名单

    感觉体量小,压力不高,上微服务成本不划算, 但是又考虑到后续可能会有拓展业务和接入其他系统的需求,直接一步到位微服务可以减轻将来也许会有的需求

    现在不知道怎么抉择,大家怎么看

    第 1 条附言    2019-10-07 19:05:45 +08:00
    学校内部是指给学生和学生组织用的:D
    35 条回复    2019-10-08 15:18:11 +08:00
    murmur
        1
    murmur  
       2019-10-07 17:54:30 +08:00
    那不上 java,你这个噶奥不好得有工作流
    wizzer
        2
    wizzer  
       2019-10-07 17:57:15 +08:00   2
    目测压力不会大,可以使用单应用的微服务项目:
    https://github.com/Wizzercn/NutzWk/tree/v5.x-mini

    或者想搞分布式复杂点,可以用分布式版本(主分支):
    https://github.com/Wizzercn/NutzWk
    coolair
        3
    coolair  
       2019-10-07 18:00:26 +08:00 via Android
    没必要
    luob
        4
    luob  
       2019-10-07 18:02:02 +08:00   25
    面向工资开发:不需要
    面向简历开发:能上就上
    imzcg
        5
    imzcg  
       2019-10-07 18:45:36 +08:00 via Android
    我认为学校的服务器资源不会太好,还是单体比较好
    Reficul
        6
    Reficul  
       2019-10-07 18:51:4 +08:00 via Android
    activiti ?
    Leigg
        7
    Leigg  
       2019-10-07 18:51:19 +08:00 via Android
    4 楼道破真相
    shangyes
        8
    shangyes  
    OP
       2019-10-07 18:53:05 +08:00
    @murmur 工作流倒不需要,java 有个问题就是开发周期相对当下流行的其他 web 语言长,学生兼顾学业和开发,拖长了项目会写的和**一样
    shangyes
        9
    shangyes  
    OP
       2019-10-07 18:55:12 +08:00
    @wizzer 简单的看了文档了解了一下,开箱即用确实很爽,api 也挺舒服的,但是 Java 不是我的首选:D
    shangyes
        10
    shangyes  
    OP
       2019-10-07 18:58:30 +08:00
    @imzcg 哈哈哈哈哈哈哈哈恰恰相反,我们学校除了服务器和域名审批比较恶心,资源还是不错的,先前写了一个很简单的类慕课项目,申请了 4c8g 的服务器
    shangyes
        11
    shangyes  
    OP
       2019-10-07 19:00:03 +08:00
    @luob 过于真实,接受不能
    其实现阶段我比较倾向于面向简历开发
    shangyes
        12
    shangyes  
    OP
       2019-10-07 19:05:07 +08:00
    @Reficul 没有工作流的需求哈哈
    cabing
        13
    cabing  
       2019-10-07 19:14:13 +08:00
    过于简单的系统做微服务有些过度设计。微服务维护起来会相对复杂。

    看你描述的需求,单体完全满足,分好模块即可。。
    janxin
        14
    janxin  
       2019-10-07 19:17:05 +08:00
    没必要...
    inhzus
        15
    inhzus  
       2019-10-07 19:36:55 +08:00 via Android
    先上简单的微服务,慢慢扩展功能。一切都是面向简历开发
    animal
        16
    animal  
       2019-10-07 19:50:45 +08:00 via iPhone
    我觉得这个问题其实很简单,考虑到后期需求扩展,肯定是能上微服务就上的。如果项目微服务化了,主要对服务器资源的消耗在哪里,比如 java 项目,内存肯定是主要原因,那么就做一个简单的压测,目前服务器资源能承载多大的业务量,如果可以接受就做,如果不行那就再考虑。
    imzcg
        17
    imzcg  
       2019-10-07 19:52:34 +08:00 via Android
    那么就 go 微服务来搞吧!满足你的一切需求
    lihongjie0209
        18
    lihongjie0209  
       2019-10-07 20:24:21 +08:00
    没有微服务之前的所有应用都不能用吗?
    当你需要微服务的时候才需要微服务。
    当你提出这个问题的时候就说明不需要
    shuangyeying
        19
    shuangyeying  
       2019-10-07 20:52:37 +08:00
    把选修课选课搞好一些大家就知足了。
    jackleelss123
        20
    jackleelss123  
       2019-10-07 20:54:01 +08:00
    @shangyes 看 4 楼,如果就是个外包项目的话,拿完钱赶紧撤,后期要改的话,加钱啊!如果不是,后期还要负责的话,不要给自己刨坑,多加点钱,上吧!
    helsonxiao
        21
    helsonxiao  
       2019-10-07 21:27:13 +08:00 via Android   1
    技术(微服务)的出现是为了解决某个(些)问题,我觉得可以联系整个应用的场景,分析下引入微服务是解决了问题,还是说只赶了时髦,单纯增加了程序开发和维护的复杂性?
    TheBestSivir
        22
    TheBestSivir  
       2019-10-07 21:31:26 +08:00
    微服务只是部署层面的拆分,代码层面一样可以做到逻辑的解耦和规划,可以了解一下 DDD

    微服务原本是为了组织结构为研发带来的壁垒,推荐可以了解一下康威定律,就会更深刻的理解微服务解决的本质问题是团队分工
    [和业务体量、业务复杂度的关系其实没有大多数人想的那么大,只是微服务顺手解决了这些问题而已]

    楼上大多数人对微服务几乎只有 [术] 上的了解,对其 [道] 毫无所知

    微服务的研发成本、部署成本、维护成本都是显著上升的,正如我们知道的”世界上没有完美的架构“,所以微服务是带来了一些问题,从而解决了一些问题

    所以!
    总结一下!
    你的希望是自己的服务可扩展性和可维护性,你还记得大学课本里面说啥了没?

    高内聚,低耦合

    微服务只是在部署维度尝试做了这些事
    那么微服务高内聚的是什么?是业务
    微服务低耦合的又是什么?组织结构和团队

    而你的关注点在哪儿?在代码本身,那么这个维度怎么解决呢?就是代码的纵向和横向的设计与拆分,可以好好参考一下 DDD,可以直接用其作为你的战术也可以简单参考一下,anyway,做一下你的领域设计,设计出一个可以运行好多年的架构出来吧。

    加油。
    jugelizi
        23
    jugelizi  
       2019-10-07 21:32:51 +08:00
    当然要上
    尽管可能不是很有必要
    却是一个方向 系统项目更加清晰
    wangyzj
        24
    wangyzj  
       2019-10-07 21:34:33 +08:00
    工作上完全没必要,因为你要多投入一个人的成本
    自己玩可以

    同情被 devops 和微服务深深毒害的你
    zjsxwc
        25
    zjsxwc  
       2019-10-07 21:39:10 +08:00 via Android
    大学学生项目,额,
    预算低还是算了吧,
    难道是一台物理主机来开 N 个虚拟机来跑微服务集群?
    如果预算一个机房的话我觉得可以不然没必要。
    TheBestSivir
        26
    TheBestSivir  
       2019-10-07 21:40:26 +08:00
    @wizzer 单体的微服务项目,你是对微服务有什么误解么?一个 web 开发脚手架(框架?)怎么就和微服务框架扯上关系了,omg。
    charlie21
        27
    charlie21  
       2019-10-07 22:00:29 +08:00 via iPhone
    点破不说破,否则 ... 抹黑微服务?三分钟抬杠大军就在路上,就说你不懂微服务,扣帽子能扣死你

    DDD 这种 玩意你既然提了那么最好解释一下
    shangyes
        28
    shangyes  
    OP
       2019-10-07 22:36:03 +08:00
    @cabing 决定单体了

    @TheBestSivir 发现自己确实存在不少误解,其实一开始把微服务当成选项之一就是为了解耦。了解了一下 DDD,确实是一个很好的参考,多谢多谢

    @helsonxiao 哈哈其实一是为了积累经验二是减少以后系统增加业务的复杂度,三是赶时髦吧(捂脸

    @wangyzj 因为最近很火的亚子,devops 其实只入了个门玩过 jenkins,微服务还没碰过,还是蛮想尝试一下的

    @zjsxwc 结合实际,很有道理,我选型的思路过于理想化了
    shangyes
        29
    shangyes  
    OP
       2019-10-07 22:37:09 +08:00
    谢谢大家的建议 XDDD,决定老老实实单体
    wizzer
        30
    wizzer  
       2019-10-08 09:19:27 +08:00
    @TheBestSivir 送你两个字,呵呵
    qwab16
        31
    qwab16  
       2019-10-08 10:58:51 +08:00
    单体就够,解耦还是看架构业务领域设计,遇到瓶颈再解决。自己首先对项目有个期望,现在的架构设计是否跟的上未来的业务发展速度,若两年内都不会有很大的发展就没必要上微服务。我的理解技术永远是服务于业务的,只有业务上的发展才能带动技术上的突破。
    TheBestSivir
        32
    TheBestSivir  
       2019-10-08 11:06:48 +08:00
    @wizzer 很多时候我们 fail 一个同学的简历就是这样的,一句话就看出一个人是真懂还是假懂。建议看一下
    ,先弄明白什么是微服务,什么场景下使用微服务再说吧。唉,一线互联网在强势输出技术概念的时候,往往都会一个层级一个层级的被扭曲

    @charlie21 你说的对,但是我也只是把我的观点带出,至于后续的部分,不是我能完全靠评论解释的通的。而且不抱着一本红书结合手上的复杂业务,是无法完全理解 DDD 的概念的。我们团队也走了两三年的历程才有一些自己的理解
    hyperbin
        33
    hyperbin  
       2019-10-08 12:41:18 +08:00 via Android
    过早的优化是万恶之源
    luozic
        34
    luozic  
       2019-10-08 13:13:09 +08:00 via iPhone
    快速开发,不需要; 慢慢来 吹技术,可以。
    shangyes
        35
    shangyes  
    OP
       2019-10-08 15:18:11 +08:00
    @hyperbin 经常写着写着想到可以优化,最后的结果就是周期越拖越长而且各种过度设计 TuT
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5250 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 07:10 PVG 15:10 LAX 23:10 JFK 02:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86