课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
微服务架构技术是目前大多数软件开发程序员都在使用的一种架构方式,下面我们就一起来了解一下,微服务架构服务网关的作用与功能。
网关是外界系统(如:客户端浏览器、移动设备等)和企业内部系统之间的一道门,所有的客户端请求通过网关访问后台服务。为了应对高并发访问,服务网关以集群形式部署,这就意味着需要做负载均衡,我们采用了亚马逊 EC2 作为虚拟云服务器,采用 ELB(Elastic Load Balancing)做负载均衡。EC2 具有自动配置容量功能,当用户流量达到尖峰,EC2 可以自动增加更多的容量以维持虚拟主机的性能。
ELB 弹性负载均衡,在多个实例间自动分配应用的传入流量。为了保证安全性,客户端请求需要使用 https 加密保护,这就需要我们进行 SSL 卸载,使用 Nginx 对加密请求进行卸载处理。外部请求经过 ELB 负载均衡后路由到 GateWay 集群中的某个 GateWay 服务,由 GateWay 服务转发到微服务。服务网关作为内部系统的边界,它有以下基本能力:
1、动态路由:动态的将请求路由到所需要的后端服务集群。虽然内部是复杂的分布式微服务网状结构,但是外部系统从网关看就像是一个整体服务,网关屏蔽了后端服务的复杂性。
2、限流和容错:为每种类型的请求分配容量,当请求数量超过阀值时抛掉外部请求,限制流量,保护后台服务不被大流量冲垮;党内部服务出现故障时直接在边界创建一些响应,集中做容错处理,而不是将请求转发到内部集群,保证用户良好的体验。
3、身份认证和安全性控制:对每个外部请求进行用户认证,拒绝没有通过认证的请求,还能通过访问模式分析,实现反爬虫功能。
4、监控:网关可以收集有意义的数据和统计,为后台服务优化提供数据支持。
5、访问日志:网关可以收集访问日志信息,比如访问的是哪个服务?处理过程(出现什么异常)和结果?花费多少时间?通过分析日志内容,对后台系统做进一步优化。
我们采用 Spring Cloud Netflix 框架的开源组件 Zuul 来实现网关服务。Zuul 使用一系列不同类型的过滤器(Filter),通过重写过滤器,使我们能够灵活的实现网关(GateWay)的各种功能。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。