1
HuasLeung 2019-06-07 12:01:36 +08:00 via Android 1
这个看需要吧。一般的项目可能 spring boot 单体应用就足够了,大些的可能要上 spring cloud 微服务+前后端分离,再大点的可能微服务+前后端分离+集群等等
|
2
sumarker 2019-06-07 12:36:23 +08:00
理论上 springcloud 可以配合 mvc 但是估计配置会相当繁琐,不如直接 springboot + springcloud
|
5
liujianwei OP @sumarker take it easy! 畅所欲言,共同成长!
|
6
hkitdog 2019-06-07 13:05:16 +08:00 via iPhone
都是 CRUD
|
7
telami 2019-06-07 13:13:22 +08:00 1
简单来说,spring mvc 只是 spring 的一个组件,整个 spring 包括实在是太多了,spring-security、spring-data-xx,等等。
而 springboot 则是基于 spring,按照约定大于配置的思想抽出的一个高度封装的 spring,屏蔽了更多的细节,省去了繁琐的 xml 配置等等,这对于不熟悉 spring 的同学来说,出现问题可能不是很好排查,但是对于饱受复杂配置的同学来说,开箱即用,无需再 copy 旧项目各种 xml,springboot 当然是神器,起码写个 helloword,快的话 1~2 分钟足够了。 而 springcloud 则是基于 springboot 的一套微服务框架,因为现在前后分离是趋势,所以一般后端都只是提供接口,前端或是 react、或是 vue 负责渲染页面,当然新技术并不一定非常适合你,尽管前端框架各种 SSR,但是还是对蜘蛛不太友好,就是说被搜索引擎收录,有点麻烦( ps:加钱、竞价排名可以解决一切问题) |
8
lhx2008 2019-06-07 13:20:46 +08:00 via Android
感觉楼上的都没有说到点子上。
首先,我们要把前端和后端的视角分离。Spring 完完全全是一个后端层面的框架,也就是说,你前端到底是弄分离还是不分离,都和后端这套框架关系不大,只是整合的问题。 其次,理解什么是 springboot,简单来说,就是一个集成了 spring ioc,可以通过 pom 快速配置各种组件的集成框架。所以 springboot 可以快速集成 springmvc 这个组件,并且只需要 pom 和注解配置。也可以快速集成 mybatis 或者 jpa 等组件。 到了 springcloud,他是一套微服务的框架,模式上,就是等于把多个模块(比如不同的 service )分割成不同的 java 程序在不同的 jvm 上运行,那么这些模块之间需要通信和管理,互相调用,springcloud 就是这么一套整合的解决方案。至于 springcloud 每个模块,一般都是由 springboot 构建的 |
9
liuxey 2019-06-07 13:26:21 +08:00
每个人对微服务都有一套自己的理解,自己说的别人不一定明白,简单来说:
小和中型系统:SpringBoot 全套 + 一个模板引擎或者一个前端框架,做到底就够了,很快上手 大型系统:SpringCloud 搭一套,配合前端框架和 Docker 等容器技术,能覆盖绝大部分人的需求,但对团队整体能力要求不小 |
10
huiyifyj 2019-06-07 13:27:15 +08:00
Spring 全家桶...
|
11
telami 2019-06-07 13:33:00 +08:00 4
而且,springcloud 不是那么好上的,除却本身的学习成本,还有运维成本,这个基础设施一定要完善,测试环境和生产环境起码要有。人肉运维必然是不可行的,也是极其低效的,所以都是要走脚本,容器肯定要上 docker,k8s 管理。
不管业务大小,光生产环境起码得 10+个微服务,当业务大了之后,100 多个不算多,那注册中心是不是得集群,起码有三个吧,配置中心也得有吧。测试环境简单点,起码得有吧,开发环境要是没钱的话,开发同学是不是自己需要在电脑上搞一下,不管是 eureka 还是 consul,或者上 Nacos,起码得启动一个吧,config 中心启动一个,自己要调试的微服务启动一个,关联的微服务启动一个,这些不可能都在 idea 启动吧,开发同学是不是自己电脑上也要装 docker,还得 docker-compose 启动,windows 电脑对 docker 支持不是太好,是不是得用 mbp (哈哈) emmm,除了这些基础的,微服务最大的问题就是分布式事务,小厂有钱的话,服务器凑够了,技术底蕴怎么凑啊,是基于 mq、还是 tcc、还是干脆不管事务 一次调用链路贼长,不用多,跨了三个微服务,怎么调试啊,链路追踪是不是搞起来啊,产品、业务天天催,一个 bug 搞一天,怎么办 其实 springboot 挺好的,jdk8 还是很香的 |
12
oneisall8955 2019-06-07 16:02:36 +08:00 via Android
公司用着 springboot+jpa,美滋滋
|
13
cabing 2019-06-07 16:46:21 +08:00
spring-boot,服务注册和发自制轮子,配置中心自制轮子-存储用的 consul,pingpoint 查看服务调用+自制调用链跟踪的轮子,消息队列使用 kafka。
|
14
kidult 2019-06-07 17:16:04 +08:00
国产 Nutz 挻好用的
|
15
skypyb 2019-06-07 20:46:41 +08:00
Java Web 系统的主流架构是什么?
哪有什么主流架构 单体架构+HTML 模板引擎 单体架构+前后端分离 微服务 (这个我默认前后端分离 你还能加上大数据、云计算、人工智能、区块链,随意组合着玩 都有好多种了 哪个都不少,你说哪个主流鸭? |
16
skypyb 2019-06-07 20:55:34 +08:00 1
要是说框架,单体架构就 ssm 咯,管技术的跟的上时代还能上上 springboot,至于要不要前后端分离,就看公司招不招专门的前端人员了。
微服务的话,要么用 Duubo+zk 这套(熔断?路由? 自己找别的组件,这套架构不是一站式解决方案) 要么用 Spring Cloud 生态圈, 网飞全家桶本来比较流行,完美配合集成,一站式解决方案。可惜不更新了,注定淘汰。好像也只能用 Spring Cloud Alibaba 全家桶了 = = |
17
luozic 2019-06-07 23:11:46 +08:00 via iPhone 1
单体 还是分布式, 直接队列 还是消息队列。 存储是主从 还是多主多从。 其他的都是部署和运维和运行架构,区分 业务架构 逻辑架构 物理架构。
|
18
MissThee 2019-06-07 23:55:35 +08:00 via iPhone
弱弱问一下有人用过 JFinal 吗
|
19
sagaxu 2019-06-08 10:05:59 +08:00 via Android
@MissThee 看过 3.x 和最新的 4.2,特性太过简陋,简单 crud 没问题,业务稍微复杂点,就要自己各种魔改
|
20
liujianwei OP 各位,新开了一个主题,接茬讨论分布式微服务,感兴趣的移步 https://www.v2ex.com/t/571982,我在那里等你们。
|
21
shadowtale 2019-06-09 00:49:25 +08:00 via Android
@oneisall8955 jpa 学习难度怎么样,会不会很重量级?
|
22
shadowtale 2019-06-09 00:49:59 +08:00 via Android
@liujianwei 哥哥,中文能不能不要放在超链接里面
|
23
oneisall8955 2019-06-09 18:13:08 +08:00 via Android
@shadowtale jpa 是规范,hibernate 是 jpa 一个实现,你学 hibernate 有没有困难?
|