新入职了一个公司,正在准备往微服务这样的方面发展。
问题一:
之前我自己搭过一个简单的http的公共服务项目。就是为公司内部其它不同的项目每个项目分配一个appid+appsecret然后根据一定的规则来排序请求数据,在根据appsecret进行rsa加密。然后公共服务那里每次请求过来的时候,先验证
是否是有效的请求,然后再执行一些公用的操作,比如像发短信,邮件,app消息推送,支付等等服务。然后服务用队列来跑来保障服务的可用性以及高效性
因为我这个做的项目远远不如所谓现在流行的SOA。貌似有些大公司都是rpc+protobuf的,然后可能自己都有一套服务协议,但是对于我来说这个比较陌生。不知如何下手。
问题二:
关于业务拆分。比如我这边有两三个系统。有些比如省份 IP的表基本上都是固定不动的。都可以直接从以前的表复制到新项目来就可以用。但是有些数据类似的,又经常变的。没法公用一张原始表,只能不同的项目新建一张类似的表,然后做个转换数据的脚本,原始数据变了 这边也要跟着变。但是这样很乱很杂,不知道有什么好的解决方案
还有,各个业务耦合度太高。产品想要一个页面展示很多的数据。我不得不连七八张甚至更多的表来查询(因为要用到order by 跟group by)所以我只能连表查,不然排序什么的够我写半天,数据量也蛮多的,用数据库自带的还勉强可以。但是这样的业务写起来很蛋疼,感觉也容易出错。不知道对于业务拆分有什么好建议!