前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务防火墙友好策略

微服务防火墙友好策略

作者头像
码农戏码
发布2021-03-23 10:36:18
7940
发布2021-03-23 10:36:18
举报
文章被收录于专栏:DDDDDD

前言

在对比RPC与restful时,大致有几点:

  1. 协议:http相对更规范,更标准,更通用,无论哪种语言都支持http协议;RPC协议性能要高的多,例如Protobuf、Thrift、Kyro等,(如果算上序列化)吞吐量大概能达到http的二倍
  2. 安全性:基于Http更安全一些,默认80端口,防火墙友好

防火墙友好

In TCP/IP protocol, reply are always thanks to a dynamic port. The client communicate with the server with port 135 or 111 and answer in done by a port dynamically opened by the client.

说RPC防火墙不友好,主要是应用IP与port的变化,都需要改变防火墙策略

  1. 一台物理机可能部署多个应用,开放多个端口
  2. 应用服务自动伸缩,对调用方无感知
  3. 如果是容器,那IP是动态的

这些情况,都会造成运维频繁变更防火墙策略,增加维护成本

应对

为了应对维护成本,在有防火墙时,可以让客户端绕行到固定的堡垒机上,这样防火墙规则就相对固定,不需要动态维护

在安全级别或者不同区域的跨区访问,需要绕行;比如同机房,或者客户端的安全级别超过了服务端安全级别,那就不需要绕行

当然如果有了绕行,客户端就能访问防火墙后面的所有服务,导致访问权限过大,就需要加入鉴权

实践

之前在《Service Mesh之Sidecar》中有过对游戏架构的说明

这儿更详细了点,加上了IDC与防火墙,就是当gameserver与跨服不在同一个IDC时,需要处理防火墙友好

代码语言:javascript
复制
对gameserver添加firewall配置项

规则格式为:
idc-proxy的域名:端口|绕行白名单ip或子网掩码(多个间用,分隔)

如:idcb-cluster.proxy.com:9090|10.199.188.66/20,10.200.123.66/20

核心思想就是让需要跨区访问的client走特定的proxy-cluster,通过proxy-cluster访问背后的服务

这样防火墙策略也相对固定

逻辑

  • 1.gameserver连接对应的跨服
  • 2.sidecar-proxy检查有没有firewall配置项,若有,查看配置的proxy-cluster是不是域名 (一般都是域名)
  • 3.通过域名nslookup找到LVS的所有IP列表
  • 4.调用服务到LVS的IP

nslookup可以借助java的dnsjava:http://www.dnsjava.org/

代码语言:javascript
复制
try {
    Lookup lookup = new Lookup(name, Type.A);
    lookup.run();
    if (lookup.getResult() == Lookup.SUCCESSFUL) {
        Record[] answers = lookup.getAnswers();
        if (answers != null && answers.length > 0) {
            String[] addrs = new String[answers.length];
            for (int i = 0; i < addrs.length; i++) {
                addrs[i] = answers[i].rdataToString();
            }

            return Arrays.asList(addrs);
        }
    }
        } catch (TextParseException e) {
            e.printStackTrace();
        }
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农戏码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 防火墙友好
  • 应对
  • 实践
    • 逻辑
    相关产品与服务
    堡垒机
    腾讯云堡垒机(Bastion Host,BH)可为您的 IT 资产提供代理访问以及智能操作审计服务,为客户构建一套完善的事前预防、事中监控、事后审计安全管理体系,助力企业顺利通过等保测评。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档