在网上,介绍微服务器架构的文章已经有很多了,我这里就不做详细介绍了。微服务架构,相对比起单一服务架构,优势在于微服务架构是把一个大的架构解耦成具有单一功能的小架构,每一个架构都有自己的数据库,服务器等,这样的架构的好处是方便扩容,提高开发效率,容易找Bug。其中,微服务架构里面,有一个很重要的部件,叫api网关。市面上开源的api网关不多,主要是用Nginx或者golang实现。我最近在用的一个是叫orange的开源api网关,它是基于openresty过来的。针对微服务,大概的设计如下图:


其中API Gateway是通过orange来实现的,主要是对url和uri进行rewirte,根据前端调用的不同接口去进行不同流量的转发,里面还会做例如限流,控制访问等功能;Firewall的具体作用就是做防火墙,避免系统入侵,其实在API Gateway已经有基础防火墙功能了。下面的nginx1,nginx2就是不同微服务的集群,通过API网关去控制访问接入,内部接口调用,可以更加安全管理系统,也可以规范API的设计。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐