业务模式:B2C:企业对个人,C2C:个人对个人,如淘宝,商家来淘宝入住,发布自己店铺的东西给用户用。B2B2C:例如淘宝和京东,公司将软件开发出来,企业可以入住进我的平台供用户使用,
这些模式体现了每种模式的不同功能模块。
B2B2C架构的项目如在线教育网站:
目前项目都使用前后端分离和项目分层的思想来开发项目
前后端分层的好处:此时是将代码写到多个工程里面的,前端可以根据不同的用户开发不同的界面,例如一套系统给PC端用户,app给app用户使用。
不分离就是将前端和后端的代码都写到一个工程里面。
第一层:用户层--PC/APP/H5(如微信公众号)
第二层:CDN(内容分发网络),属于缓存层,提高访问的性能。
第三层:负载均衡:将用户的访问分摊到不同的节点。后面有很多个系统和服务,我们将这些系统和服务分摊到不同的节点上来完成负载均衡。
4层负载均衡:使用LVS
7层负载均衡:使用Nginx
第四层:UI层(用户界面),此部分属于前后端分离的前端,UI层通过请求后端的微服务层或者后端代码请求数据库拿到数据。
node.js,vue.js
第五层:微服务层。后台的微服务是不会根据不同的用户开发不同的用户,服务层尽量将服务的颗粒度变小,可以提高整个系统的可重用性,后期可以根据每个节点进行扩充。检点说微服务使用的就是spring全家桶技术。
基于Spring boot、Spring Cloud侯建
控制层:springMVC ,spring security+oauth2,swagger
业务层:spring 事务控制,spring task定时任务,spring data Redis、spring rabbitTemplate
持久层:Mybatis、Spring dataJap、 com.alibaba.druid\spring data monogodb
第六层:数据层。进行数据的持久化,消息队列,索引库,缓存,文件存储,流媒体。
开发步骤:
1.需求分析:梳理用户的需求,分析业务流程
2.接口定义:根据需求分析定义接口
3.服务端和前端并行开发:根据接口进行服务端接口开发,前端开发用户操作页面。
4.后端继承测试:最终前端调用无服务端完成接口对接