1、将不同类型的api服务进行拆分,如订单做一个微服务,购物车做一个微服务,这样可以根据不同的服务的访问量灵活的增加某个微服务的服务器。
2、之前考虑过一个问题:微服务再多,总有一个对外的网关,如何解决网关的大并发问题?
解决这个问题可以参考open-falcon的方案,方案如下:
2.1、通过一个获取配置的hbs,动态的给agent分配应该投递的transfer地址,这样就解决了。
2.2、通过rpc的方式建立长连接。
3、api本身的优化。
3.1、缓存,如使用redis将数据先缓存起来;
3.2、异步。可以使用异步的方式,如多线程处理或放到消息队列等;
3.3、分库分表,相当于在DB层面做微DB。
4、对于比较大的站点可以考虑搭建CDN服务器,对一些静态的数据进行缓存,同时可以找比较优的访问路径。