这样的架构。。。请各抒己见

这样的架构。。。请各抒己见

眼眸 发布于 2021-11-26 字数 240 浏览 895 回复 23

换了一个图。这个图可能更清晰一些。

对于这三个应用。每一个都要写service、serviceImpl、Controller、Dao、DaoImpl。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(23

自此以后,行同陌路 2021-12-01 23 楼

一般做restful这种架构的多数为了,前后端分离. 还有能够支持多种前端架构.  其实这种架构为了容错也就是拍脑袋想出来的吧. 数据库一挂全部无用.

回忆凄美了谁 2021-12-01 22 楼

编码是否重复不是设计者所考虑的问题。服务全挂才是头疼的事。

奢望 2021-12-01 21 楼

合理,单个节点不至于影响到整体

风柔一江水 2021-12-01 20 楼

所以在想有没有另一种实现方法。

草莓味的萝莉 2021-12-01 19 楼

前面评论都说的很明白,有一点就是按楼主图示来看,数据访问层应该是用restful做的专有的api,我是不提倡这点的,通用性太差不好做迁移。

疾风者 2021-12-01 18 楼

不知道是不是我没搞明白。现在这个应用。比如 cms后台。跟数据库曾。都有service。dao。pojo。

彼岸花ソ最美的依靠 2021-12-01 17 楼

哪些代码重复?....我理解是不是
把一个完善应用的action(前端显示), server(服务层), dao(数据库操作)这三层分开了?中间用服务(REST)打通...而图中的springmvc就是暴露服务的工具(配置即可)

丢了幸福的猪 2021-12-01 16 楼

说是为了分散压力。你们公司项目平时多少人在线?

温柔少女心 2021-12-01 15 楼

我也很好奇,我们公司就一个spring mvc就做完了,用3个肯定会有大量重复的代码呀

夜血缘 2021-12-01 14 楼

也就是代码重复率就是这么高?cms后台跟访问数据库的cms都需要pojo

奢望 2021-12-01 13 楼

比较流行的是Struts,spring,hibernate或者mybatis三大框架来做吧    springmvc也是可以的

眼眸里的那抹悲凉 2021-12-01 12 楼

好的。我去看看~谢谢

反话 2021-12-01 11 楼

可以考虑使用 RESTful 架构,中间的 SpringMVC 输出 REST API。

底下的前端,后端界面(底下两个 Spring MVC)全部可以用 NodeJS 或者 Apache 运行 SPA 程序(AngularJS, ReactJS 等)代替。

这种对现多种设备(PC,Mobile)支持,应该是最基础的。我之前几个项目,比这个复杂的得多,相当这个图中间的 Spring MVC 背后还包含有几个应用(与界面应用程序完全隔离),通过消息通讯。

看看现在的 MicroService 模式吧。

梦里兽 2021-12-01 10 楼

你觉得 java 还有更优雅些的实现方式么?或者其他语言有类似的可以借鉴的么?还是说大型点的应用都需要这样呢?没怎么做过大型的应用。所以想多聊聊。。谢谢哈

风透绣罗衣 2021-12-01 9 楼

回复
既然是谈架构,就不要局限于编程语言,就目前我接触到的项目,一整个架构里面,编程语言不止一种的。php做业务逻辑,消息服务单独抽出去用Go语言写的,支付系统用Java写的,数据统计、分析用Hadoop、storm架构,数据挖掘用 spark等。。。想想,如果这些东西都放在一起,后面接手的只有去shi了。。 架构,不要局限于某一语言

回眸一笑 2021-12-01 8 楼

回复
对于后面接手的是不太友好哈。。呵呵。。了解了。多谢

离不开的别离 2021-12-01 7 楼

换个说法,叫做合理的代码冗余。

各个系统分开,解耦和,互相之间不影响,即使有代码重复也是值得的,总比几个系统都混在一起的好

各自安好 2021-12-01 6 楼

恩。cms只是比喻。 好的。。谢谢 了解了。 只是现在我在添加功能的时候。要在cms前端跟数据库层都添加pojo,还有service,controller。觉得有点不对劲。可能这种代码冗余是允许的吧。我少见多怪了。

风透绣罗衣 2021-12-01 5 楼

回复
如果是一拨人干这个事情,我觉得这样设计有点多余,没提升效率. 如果一定要设计成这样,你也改变不了的情况下,你可以使用第三个工程, 将pojo放里面,打包成jar后两个工程依赖,这样可以少些一些

偏爱自由 2021-12-01 4 楼

回复
恩。明白了。如果打成jar包的话。pojo是随时添加或者更改的。到时候重新打包也挺麻烦的。。

左岸枫 2021-11-30 3 楼

@大大菠萝 我们现在的方式就是共享jar包,其实不麻烦,开发的时候使用关联工程的方式开发,发布的时候一个ant脚本就打包了

傾城如夢未必闌珊 2021-11-30 2 楼

回复
我们是每天早上6点自动部署提交到svn的代码。。所以具体情况可能要具体分析了。。

情场扛把子 2021-11-30 1 楼

这个图应该是不完整的,如果说只有一个cms的话,有点过度设计的嫌疑,如果还有其他系统,就合理了

如果还有其他项目也使用了操作数据库这个模块, 那么他们只需要使用restful的api就行. 操作数据库那里分库/分表等操作对使用api的人来说都是透明的,这样方便几拨人一起干活,你改你的项目,我优化我的数据库

cms前端和后端分离也是可以的,因为这样做的话,前端可以使用更方便,快速的技术来实现,也是方便几波人一起干活,比如使用nodejs,前端就可以直接使用后端暴露的接口,两拨人可以分别干活,做后端的不需要管前端怎么显示,做前端的只需要组合使用后端restful的接口就行