基础平台系列-1-第三方服务

一、微服务下的第三方服务?

每个系统或多或少都会用到第三方,这里不详细介绍第三方,罗列我们日常工作系统中可能会涉及到的第三方,扩大视野。

在微服务中,我们把第三方服务抽离一个单独的服务,比如叫做:tsp _ Third Service Provider,这么做有这几个好处:

  1. 对系统内部直接调用,无需感知是哪个第三方服务提供商;
  2. 每种服务提供至少2点调用,避免单点调用,对调用者隐藏底层实现细节;
  3. 不同第三方服务商可能对入参等有特殊要求,不希望每个要用到的微服务都要写这么单独处理;
  4. 聚合代码。

这个tsp服务就是一个微服务,其api-client打成jar包供其他服务通过dubbo方式调用。

二、概览

大家工作中,一般会遇到哪些服务呢?可能会遇到以下类别,就我知识范围简单列举下,后文在详细介绍。

  • 短信服务
  • 实名认证
  • LBS服务
  • 微信相关
  • 短URL服务
  • NLP服务
  • 手机号码归属地服务
  • 行为验证服务

1)短信服务

短信服务提供商很多,日常用得多的多是:
聚合
大汉三通

大汉三通属于上海本地短信服务提供商,大家本土可能都会有类似的服务提供商。选择何种,要根据:业务、价格、对接成本等因素综合考虑。

这里不介绍技术细节,技术细节大家可以去官网查看即可。一般会着重考虑哪些因素呢?

1)模板申请难易程度

系统业务中发送短信场景很多,有的是发送验证码,有的是提示业务消息。在业务消息的时候,短信服务提供商会要求申请模板。业务变化很快,所以短信模板申请难易或者方便与否是重要考虑维度。

eg: 运营人员在某个业务提出申请时候,需要收到通知以便及时处理。通知渠道之一:短信。
通知方式类似这样:

通知标题:****通知
通知内容:******时间提出***申请,请及时处理。详情请点击***

2)多点

单独一个大汉三通,一旦请求失败呢?所以提供另外一个服务提供商来做保障,这是设计的基本原则。

2)实名认证

无论是借贷平台还是普通APP,都需要对用户快速实名认证。认证途径很多:我们可以用支付宝芝麻人脸识别快速认证,也可以考虑身份证号+姓名等其他双因素认证方式。

这里介绍双因素认证。

双因素认证服务提供商蛮多,我所了解到的:
支付宝双因素认证

远鉴双因素认证

用友双因素认证

九州云腾

中科恒伦

具体API文档网上都有介绍,这里不再赘述。

3) LBS服务

Location Based Services 定位服务

定位服务用途很广,随便举几个业务场景:

a. 用户登录,根据用户IP自动定位用户所在省市区信息;

b. 地理围栏。在会议开展范围内,对参会人员提供验证码,提供快速认证通道;

我了解到的有:

高德地图

百度地图

API都很好用。百度需要提供AK,高德需要提供一个amap.key

4) 微信相关

这个自然是微信公众号开发文档喽。

主要用作:

微信登录等场景。 微信场景很多,包括公众号、小程序等,需要花费不少功夫了解。

5)短URL服务

了解到的是:

sina的第三方服务。
场景和消息通知——短信渠道类似,很多时候不仅仅只是发送一条短信,短信中还有连接。这个连接自然不要太长,因为短信有长度限制,压缩下

eg:
要跳转的连接:

https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E6%96%B0%E6%B5%AA%E7%9F%AD%E7%BD%91%E5%9D%80&oq=%25E5%25AE%259A%25E4%25BD%258D%25E6%259C%258D%25E5%258A%25A1&rsv_pq=b5220d6c000bf4aa&rsv_t=6e6fnumfDZD%2BrWe8Lb89AuS0Jo6ByFupiGiRkuh1XLBc17pXO7sgxqOTigc&rqlang=cn&rsv_enter=1&rsv_dl=tb&inputT=7372&rsv_sug3=53&rsv_sug1=32&rsv_sug7=101&rsv_sug2=0&rsv_sug4=7505&rsv_sug=1

短网址后:
==》

http://1t.click/aqHu

至于背后技术怎么实现的,感兴趣的自己研究哈。

6)NLP服务

在这个人工智能吵翻天的时代,系统中或多或少会涉及自然语言处理。

业务场景:

1、blacklist 过滤敏感词汇
2、一段文本萃取出 相关词汇。比如在医学领域,对一个疾病的一段描述,萃取出症状信息。

对于blacklist,我接触到的有:Ansj中文分词

对于2,可以用百度的NLP服务。

7) 手机号码归属地

根据手机号,匹配用户所在地信息,很实用、经典场景。

用的比较多的有:
聚合
淘宝

eg:


POST 
传参方式:x-www-form-urlencoded
key http://apis.juhe.cn/mobile/get
phone 18722222222
dtype json 

http://apis.juhe.cn/mobile/get  

返回值:

{
    "resultcode": "200",
    "reason": "Return Successd!",
    "result": {
        "province": "天津",
        "city": "天津",
        "areacode": "022",
        "zip": "300000",
        "company": "移动",
        "card": ""
    },
    "error_code": 0
}

8)行为验证

这个行为确实是人为的,不是机器恶意攻击。常用的就是发送验证码后需要手动滑动一个滑块;sina短网址的时候也是这么做的。当然这只是一种形式,具体参考官网介绍。

我了解的有:极验

三、总结

每个服务都是一个浩瀚的领域,这里只是聚合一下。看对应的网站介绍是最好的学习方式。

好了,再会!欢迎有其他服务的在评论区留言讨论。

发布了181 篇原创文章 · 获赞 66 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/meiceatcsdn/article/details/101021821