app和后台通信协议
https //android和ios一样 都使用第三方开源http请求框架访问后台服务 //不管是android还是ios 都一样 公司所有的移动端项目都是https协议
项目分层
1.web项目
web项目——》控制器层项目(struts2 请求路径基于配置文件)——》service项目——》dao层项目
2.移动客户端
移动客户端——》控制层项目(1.也是web项目 但是没有前端jsp页面 就是专门给移动客户端提供controller的 2.springMVC 请求路径基于注解)——》service项目(和web项目共用同一个service项目)——》dao项目(共用)
分布式
service层
分布式服务
1)分布式服务 基于dubbo/zookeeper
2)独立的项目 独立的服务(作为一个进程运行)
原因
1.不同客户端要访问
1)web项目
2)移动客户端项目
3)下游商家
2.正因为不同客户端都要访问 导致量可能必要大 所以 作为入口 为了负载均衡 会部署多个服务——自然采用分布式服务架构
dao层呢?
不是分布式服务。
原因
1)首先 最重要的一点是 dao层是给内部使用的 永远不可能给外部使用 它只供内部的service项目使用和访问
2)dao层是一个jar包 不是一个项目
3)以上的2点 都决定了 dao层没有必要搞分布式服务
即每台机器的service服务访问自己目录下的dao.jar