建立服务网关:
有了网关支持,可以根据需要把流量在新老系统之间切换。采用zk实现,所有服务注册到zk上,网关根据zk注册来将用户请求按比例分配到工作机上。在网关可以实现熔断和限流。
业务细分,读写分离:
接口拆分,微服务化:
将庞大系统按服务拆分,创建project。每个project不会超过5个接口,这些结构都是高内聚,同功能的,仅仅参数不同。拆分之后每个实现类都很少,不超过10个,代码行数不超过300行。
完善基础设施:
微服务环境上,采用git做版本控制,gitlab做代码审核,jenkins支持自动发布和上线。
微服务拆分:
rpc层微服务按表来拆分,自己连一个数据库,分为两层:数据访问层和业务逻辑层,如果业务逻辑层薄,可合并成一层;