基础平台系列-1-第三方服务
文章目录
- 一、微服务下的第三方服务?
- 二、概览
- 1)短信服务
- 2)实名认证
- 3) LBS服务
- 4) 微信相关
- 5)短URL服务
- 6)NLP服务
- 7) 手机号码归属地
- 8)行为验证
- 三、总结
一、微服务下的第三方服务?
每个系统或多或少都会用到第三方,这里不详细介绍第三方,罗列我们日常工作系统中可能会涉及到的第三方,扩大视野。
在微服务中,我们把第三方服务抽离一个单独的服务,比如叫做:tsp _ Third Service Provider,这么做有这几个好处:
- 对系统内部直接调用,无需感知是哪个第三方服务提供商;
- 每种服务提供至少2点调用,避免单点调用,对调用者隐藏底层实现细节;
- 不同第三方服务商可能对入参等有特殊要求,不希望每个要用到的微服务都要写这么单独处理;
- 聚合代码。
这个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短网址的时候也是这么做的。当然这只是一种形式,具体参考官网介绍。
我了解的有:极验
三、总结
每个服务都是一个浩瀚的领域,这里只是聚合一下。看对应的网站介绍是最好的学习方式。
好了,再会!欢迎有其他服务的在评论区留言讨论。
基础平台系列-1-第三方服务相关推荐
- 微信公众平台系列-5关键字服务
部分封装: <?php /*** Created by PhpStorm.* User: wangyetao* Date: 18-1-18* Time: 上午10:01*/namespace W ...
- 广州市车联网车联网先导区 V2X 云控基础平台技术规范
1 范围 本文件规定了智能网联云控基础平台的架构组成.各子系统相应的能力需求.数据类型以及数据格 式需求等.覆盖路侧协同设施与区域子系统通信,区域子系统与中心子系统通信等. 本文件适用于广州市车联网先 ...
- 广州市车联网先导区V2X云控基础平台技术规范
广州市车联网先导区V2X云控基础平台技术规范 1 缩略语 下列缩略语适用于本文件. ABS:制动防抱死系统(Anti-Lock Braking System) BSM:基本安全消息(Basic Saf ...
- 基于SOA的组件化业务基础平台[转]
转自https://www.ibm.com/developerworks/cn/webservices/1111_xiaojg_soa/index.html 业务基础平台是业务逻辑和基础架构平台之间的 ...
- 基于 SOA 的组件化业务基础平台
基于 SOA 的组件化业务基础平台 原文:基于 SOA 的组件化业务基础平台 前言 业务基础平台是业务逻辑应用和基础架构平台之间的一个中间层,解决 "应用软件的业务描述和操作系统平台.软件基 ...
- JetLinks物联网基础平台-通过第三方MQTT服务接入设备
在某些场景,设备不是直接接入平台,而是通过第三方MQTT服务,如:emqtt. 消息编解码与MQTT服务一样,从消息协议中使用DefaultTransport.MQTT来获取消息编解码器. 本文使用m ...
- 微信平台第三方服务器,浅谈微信第三方服务平台的发展前景
伴随着移动端的普及,移动互联网也在飞速的发展,同时也有越来越多的小商家开始抓住了移动互联网的这个渠道开展营销活动.而随着微信的不断更新和发展,微信用户也越来越多,而如今如雨后春笋般出现的各类微信第三方 ...
- 公开课|百度天工物联网基础平台的微服务容器化落地实践
本文整理自中信出版社<物联网时代> 在采用IoT的世界中,改变既是IoT引发的,也是你的生活中无法回避的事实. 弗洛伦斯·赫德森,是Internet2(Internet2,即I2,是指由美 ...
- 微信公众帐号第三方服务平台源码
微信公众帐号第三方服务平台源码,基于thinkphp3.2版本+DWZ进行开发.下载地址:http://down.qypangu.com 现在这个系统只能算是一个DEMO版,各位下载下来后可以根据自己 ...
- 微信第三方服务平台java授权获取token(一)
公众平台第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台(并且可以同时授权给多家第三方),通过第三方平台来完成业务,开放给所有通过开发者资质认证后的开发者使用. ...
最新文章
- 平方变换载波同步 matlab,matlab源码-costas载波同步环.docx
- 炒菜机器人煎鸡蛋视频_我的生活小技巧,今天才发现鹅油那么好用,炸鸡蛋炸豆腐都挺好...
- Win10开始菜单中的天气不更新问题的解决方法
- 1—YOLO2:环境搭建
- HDU 6030 Happy Necklace
- 在LINUX 下安装 Realtek 8110SC 千兆网卡驱动
- Scala入门到精通——第二十二节 高级类型 (一)
- 深入理解Flask中的上下文
- 住170平以上的大平层大户型什么感觉?
- 新手学堂:Linux操作系统的启动步骤说明
- OpenvSwitch readme faq
- linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)
- Mac 本地搭建服务器实现itms-services方式安装ipa(自制证书)
- mysql与nagios的结合使用
- EditPlus 3 实现将JSON字符串格式化、排版成JSON格式数据
- linux设置汉语输入法,在Deepin系统下使用韩语(韩文)输入法的方法
- 吃着火锅唱着歌,却被操作系统砸了饭碗,开发者如何反击?
- 计算机31进制表,74ls290构成31进制计数器电路图文详解
- 使用mysql管理系统建表时,字段中有PK,NN,UQ,BIN,UN,ZF,AI基本字段类型标识的意义
- 用ec怎么修改网络服务器数值,ec服务器