首页 » 我的课程 » java » 正文

最近教学实况录像计划:教给大家 “最真实的大中型项目”的开发架构

最近要策划几个教学实况录像。

一个是python web教学。零基础开干。一边做web一边学python,两不误。这个在群里和大家讨论过

这几天和一个技术朋友再讨论,谈到真实的大中型商业网站的开发。我给出基本架构如下

1、业务处理逻辑用java .包括和数据库进行交互

2、前段依然使用php。 利用curl 向java接口请求数据

3、php本身不连接任何数据库。仅仅是个前段,用于模板展现。

4、这样的话 我们的MVC架构如下

  1)C和M由java控制。

  2)V 由php控制

5、这样做的好处是 安全,并且以后前端语言换成任何语言都可以,不一定要PHP。

6、就像淘宝接口或者微信接口一样,任何语言都可以调用我们使用java开发的后端接口

7、当然也可以考虑使用golang或者node.js来代替java。个人并不看好”java啥都能做”这句话。有时候要根据业务类型和需求决定使用什么语言。

8、当然,使用java比较广泛。可能受众面比较广,很多学员如果能掌握java以及php 这两个神器 就能找到好工作。

9、综合考虑,还是打算用java+php来教给大家 “最真实的大中型项目”的开发架构。

这里我再附加一个数据库架构(课程中由于篇幅不一定使用)

1、后端数据库是oracle,由java来操作。前端数据库是 mysql,由php来调用

2、假设一个新闻系统有若干张表,譬如新闻主表+新闻类别表。 这些表是按照三范式 存放在oracle中的。

3、前端是PHP。当php有用户提交新闻时,PHP调用java写的web接口提交json数据。java按照表结构,分别存入oracle中的各张表

4、最后java进行回调。把三范式表的新闻数据 变成一张表(也就是冗余字段比较多的表),然后保存在mysql中

5、当前端php调用新闻列表时,其实调用的是mysql中的一张由java蹂躏过的单表(注意是单表,冗余字段比较多,没有范式)

6、也就是说,PHP+mysql只做select操作。java+oracle负责update和insert操作。

7、当然,这里面的主从同步或者是及时回调需要有个复杂的机制

8、这样的做的目的是为了分布式,为了大型系统的性能。求体会

以上架构供大家体会和参考。 我个人不爱画流程图,喜欢文字。因为我是文科生,就是这么任性。

本文共 2 个回复

  • 小莫 2015/05/24 13:18

    😯 👿 很好很强大

  • 匿名 2015/12/19 10:14

    非常好的架构

发表评论