Fizz的设计基础
Fizz以微服务框架作为设计基础,支持集群化架构,能够与多种流量网关服务器一同使用的,提升的微服务架构的管控力度。另外考虑的很多企业的特殊情况:有多少种服务形式对外提供,有旧有的Stardalone单机服务,可能以webservice的形式对外提供,或者已经升级了一部分微服务,有的还在以数据库提供对外服务,有的已经升级了微服务,但是有一部分用http接口,有的使用注册中心进行调用的,授权也各式各样。因为Fizz本身就是基于这种情况下设计。所以在此提供一些方案以供大家参考。
集群架构方案
在上图中,以Nginx作为外网的接入口,Fizz作为API网关放置于Nginx之后。在这里Nginx可以也使用现在OpenResty产品替代,如Kong,或者APISIX。可能有一些企业运维这一块会有使用Kong+Nginx,那么在研发这一端,这里就可以使用Fizz作为微服务的网关配合作为应用网关。
单机架构方案
如果是中小企业,服务器资源有限,那么Fizz可以直接替代Nginx的功能,解决之前多种系统的并行的问题。之后随着业务的壮大,逐步升级的加入的微服务架构即可。也可以用来解决团队存在多种编程语言的问题:如团队之前有PHP,有NodeJS,授权不一致,那么可以通过Fizz进行转发提供对外一致的接口请求访问体验。
Web服务器方案
Fizz是一个高性能的网关,也不妨碍Fizz作为Web服务器的选择,作为聚合服务和少量的Web的服务编程,使用Javascript或者Groove语言的工程师甚至可以把它当做online编程的Web服务器,聚合各种接口,存储数据,调用缓存,通通不在话下。
介绍
作者:linwaiwai
Fizz Gateway开源地址:https://github.com/wehotel/fizz-gateway-community