项目改版技术上的思考

最近考虑App的一个改版,整个架构上,也是要改的。

1)四端:ios,android,Wap(H5,微信),Web

2)统一API

3)后端业务

4)后端数据服务

5)管理端

关于语言的选择,ios和安卓,还是确定的,就是object-c和java。

对于H5,由于前端走了,自己也很久没专心写前端了,想捡起来,就拿vue2.0来玩吧。vue+nodejs,好像还不错,可以一起玩下。

对于Web端,还要在看,最后做成什么样子的。

至于API,准备使用ngx_lua,也即:所有的请求,通过ngx_lua解密,转发,记录。ngx_lua主要就是起过滤和安全的作用。

后端业务的话,因为团队目前的技术栈,就是php,所以主要的业务,用PHP来写。

后端数据服务,本来是不想跟业务分开的,但是想想,分开的话更解耦,业务端就不用考虑数据了,反正返回的就是json数据,也可以跟语言分开,也为以后扩展留下空间。本来想用netcore写的,DEMO也写通了,回头一想,现在好像JAVA都是敲门砖了,那还是用JAVA写吧,至少好装13(偷笑)。不用PHP的原因是,PHP无法实现链接池(当然,基于swoole是可以的)反正为了尝试,有啥关系呢。说白了,只要进程能常驻内存就是OK的。

至于项目间的通信,基于RPC做(目前线上用的YAR),前段时间看了看hprose,也写过demo,不同语言之间的话,nodejs和php,反正是通的(同步,json格式,主要是因为hprose是基于文本实现的),再不行,以接口方式调用也行(偷笑)。

不管最后项目改版如何定,自己先按这个套路(除了ios和android),先玩一遍了,至少整个架构,DEMO是要通的,先验证一遍自己的设想。同时,也是想告别单语言,为做技术管理打基础,不需要精通,但总要接触过吧。

目前阶段:vue+node和api(暂时用的现在线上PHP写的),是全部通了,ngx_lua一部分功能,也是走通了,测评的页面(一个小项目)也完成了一大半了。现在准备用JAVA写数据层,对外(对于整个项目,还是内网)提供接口,返回json,就OK了。php再去拿数据,至于缓存和队列,业务端和数据端,都可以用(反正不同的小伙伴写,各自负责,[偷笑])

不同语言这样的尝试,从项目角度讲,是有风险的。当然了,不去踩坑,谁知道呢。

原文地址:https://www.cnblogs.com/plongver/p/8047110.html