[TOC] ###1、高德是什么 高德官网地址是: https://lbs.amap.com/api/webservice/summary/ 。 高德Web服务API向开发者提供HTTP接口,开发者可通过这些接口使用各类型的地理数据服务,返回结果支持JSON和XML格式。 Web服务API对所有用户开放。使用高德服务之前,需要申请应用Key。不同类型用户可获取不同的数据访问能力。 ###2、常规使用流程 我们在使用高德官方提供的WEB服务时,常规流程如下图所示: ![](https://oss.showapi.com/doc/3754/10/250b35e19e1f43b9a1776cdb398642ad.png) 调用高德服务时,需要每次把认证key一起发送到服务方。 ###3、面临的问题 ####3.1密钥字段管理 虽然只是简单地在URL后面放上密钥,但每个接口的密钥字段名、值都是不一样的。如果需要调用多个接口,那开发者就需要在程序中保存、维护这些参数。 ####3.2权限管理 在很多情况下,一个账号的密钥可以调用 A、B、C、D多个接口,如果开发者想精细管理,比如某个小组只能调用A,某个小组只能调用BC,这样的情况只能自己编码进行权限管理。 ####3.3 IP黑白名单 哪些IP可以使用您的密钥调用接口,哪些IP不能调用?这个看似简单的功能,很多API服务商却没有提供。 ####3.4 流量、并发控制 假设一个密钥在多个开发组中共享,每个小组每天能使用多少次调用,并发又能到多少? 因为API服务商通常对密钥有个总流控,您也不希望某个小组代码有问题而把其他小组的业务全阻塞了。 ####3.5 日志记录 一个密钥在什么时候,什么IP调用了接口,出入参数分别是什么?对不起,目前绝大部份API服务商没有对此记录。当您对调用量有疑问而希望服务商和您对账时,由于日志的缺失,这将是一笔糊涂账。 ####3.6 负载均衡 比如您同时在用百度和高德的【IP地址查询】接口,由于两个服务的调用额度、并发限制可能不同,您可以在易源设置这两个节点的负载权重从而分流。 ####3.7 映射输入输出字段 比如您同时在用百度和高德的【IP地址查询】接口,它们的输入和输出字段是不一样的。您可以通过易源对这两个节点的输入和输出做字段映射、代码级转换,从而把它们的输入输出完全统一。 ####3.8 容灾切换 项目中同时在用ABC三个接口,A挂了就走B,B再挂了就走C。需要定期检测节点的恢复情况。 ###4、解决方案 对于上一小节提到的问题,解决如下: ####4.1 密钥字段管理 ![](https://oss.showapi.com/doc/3754/10/104b0e96c59a4c24a66d5e389bf62e55.png) ####4.2 权限管理 - 通过连接器创建接入点,设置私有用户调用权限控制可使用哪些后端数据。 - 通过创建子授权,精细控制每个token可访问的接入点、可调用的IP和秒并发 ####4.3 IP黑白名单 ![](https://oss.showapi.com/doc/3754/2/25ab417c1be3442281d12a09e7766251.png) ####4.4 流量、并发控制 ![](https://oss.showapi.com/doc/3754/2/dafc00c359904c8b8c2b35ff5170c665.png) ####4.5 日志记录 ![](https://oss.showapi.com/doc/3754/10/bc245a7feb10433f8dff242eea57031e.png) ####4.6 负载均衡 ![](https://oss.showapi.com/doc/3754/10/86c7a2d45c5a446795c807778dead12d.png) ####4.7 映射输入输出字段 ![](https://oss.showapi.com/doc/3754/10/2874321edfe74dd0bf9f0d2d83a4dd3d.png) 如果单纯的字段映射不能应对复杂情况,我们还可以使用【嵌入代码】方式直接修改输入、输出内容。 ![](https://oss.showapi.com/doc/3754/2/b2db2c5387534d8893e098ce38e23d7e.png) ####4.8 容灾切换。 某个节点熔断后,易源会根据权重或嵌入的代码,将请求数据转至正常的后端节点。 ![](https://oss.showapi.com/doc/3754/2/f41fd36b8810428b8c41e78f73de3b40.png) ###5、性能问题 如果在同一个局域网下进行压力测试,直连时程序做充分优化,易源中转比直连方式的多消耗时间<1ms。网站或APP的响应时间在100ms-1000ms之间是可以接受的,也就是易源增加的时间是整体流程的0.01至0.001的比率,几乎可以忽略不计。这点开销,就像开车从北京到西安有1000公里,中间因为修路多走了1公里,总共由1000到1001公里,多走这1公里对全局可以忽略不计。 ###6、安全问题 易源平台和您签定合作协议,易源保证关键信息加密存储,保证数据安全不泄露,保证无用户授权绝对不连接数据源。 易源公布对外IP,您可以设置IP白名单。 对于高德连接器,易源的IP是: - 121.41.60.109 - 120.26.59.160 - 120.26.61.225 - 129.211.129.137