严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的。就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的。

Java 后端开发通常会涉及到很多第三方服务,那么都有哪些成熟的方案可供直接上手使用呢?

1)IaaS

IaaS 的英文全称是 Infrastructure as a Service,即基础设施服务,指把 IT 基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。IaaS 可根据需求快速纵向扩缩,用户无需购买和管理自己的实体服务器和其他数据中心基础结构,从而避免了相应的开支和复杂操作。

用户通过 IaaS 可以完成的典型事项包括:

    • 测试和开发。
    • 网站托管。
    • 存储、备份和恢复。
    • Web 应用。
    • 高性能计算。
    • 大数据分析。

基本上所有的云服务商都提供了 IaaS 服务,国内最强大的云服务商当属阿里云。

2)PaaS

PaaS 的英文全称是 Platform as a Service,只需要提交代码到指定运行环境,代码打包、部署、IP 绑定都由平台完成。

与 IaaS 相比,用户不需要管理与控制云端基础设施(包含网络、服务器、操作系统或存储),但需要控制上层的应用程序部署与应用托管的环境。

3)SaaS

SaaS 的英文全称是 Software as a Service,用户在这种模式下,不需要经过传统的安装步骤就可以通过网络使用软件。SaaS 最大的特色在于软件本身并没有被下载到用户的硬盘,而是存储在提供商的云端或者服务器。

怎么区分 IaaS、PaaS 和 SaaS 呢?来看下面这张图。

如果我们开发了一个网站,按照传统的方式,我们需要买专业的服务器(连接网络),并在上面安装服务器软件,然后再把编写好的网站部署上去。

如果采用 IaaS 服务的话,就不需要自己购买服务器了,直接在租用的云服务器上安装服务器软件并且部署网站即可。

如果采用 PaaS 服务的话,不需要购买服务器,也不需要安装服务器软件,只需要部署网站即可。

如果采用 SaaS 服务的话,网站也不需要自己开发了,直接使用服务商开发好的网站,后期的升级、维护都交由服务商来负责。

阮一峰的网络日志上这样解释三者之间的关系。假如你想做披萨生意,有三种方案。

方案一,IaaS。

他人提供厨房、炉子、煤气,你使用这些基础设施,来烤你的披萨。

方案二,PaaS。

除了基础设施,他人还提供披萨饼皮。你只需要把自己的配料洒在饼皮上,至于是牛肉味的还是奥尔良鸡翅味的,你来决定。

方案三,SaaS。

他人直接做好了披萨,你拿到手就是一个成品。你要做的就是把披萨卖出去,最好印上自己的 Logo。

4)域名

有了可以提供服务的应用后,还需要一个能够让人记得住的域名,最好越简单越好。拿维基百科来说,wikipedia.org 是一个域名,和 IP 地址 208.80.152.2 相对应,用户可以直接访问 wikipedia.org 来代替 IP 地址,域名系统(DNS)会将域名转化成便于机器识别的 IP 地址。

5)CDN

CDN 的全称是 Content Delivery Network,即内容分发网络,一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、影片、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。

比较有名的 CDN 服务商有:>

  • Cloudflare,提供的免费版解决方案足以保护小网站免受 DDoS 之灾,也可以隐藏网站的真实 IP 地址。在海外有着极好的响应速度,国内好像不咋滴。

  • 腾讯云,资源储备遍布全球 50+ 国家与地区,全网带宽 120Tbps+。国内 1100+ 加速节点,覆盖移动、联通、电信及十几家中小型运营商。

  • 阿里云,全球 2800+ 节点,130T 带宽能力,六大洲覆盖,国内主流运营商支持。

  • 七牛云,全球 2000 节点,20+ 运营商覆盖,访问提速 80%,应用场景包括音视频点播、大文件下载、Web 加速服务等。

  • 又拍云,全球 1100+ 节点,10Tbps 带宽储备,国内主流运营商支持。

6)邮件发送

基本上每个应用都离不开邮件发送,最常用的邮件服务器就是腾讯邮箱和网易邮箱。常用的电子邮件协议包括 SMTP、POP3 和 IMAP,不过,邮件的创建和发送只需要用到 SMTP 协议就可以了。

Java 官方提供了对电子邮件协议封装的 Java 类库,就是 JavaMail,但并没有包含在标准的 JDK 中,GitHub 地址如下:

https://javaee.github.io/javamail/>

7)短信发送

短信是需要运营商支持的,所以基本上都需要依赖第三方代理。

8)消息推送

消息推送(Push)指运营人员通过自己的产品或第三方工具对用户移动设备进行的主动消息推送。用户可以在移动设备锁定屏幕和通知栏看到 push 消息通知,通知栏点击可唤起 APP 并去往相应页面。

移动应用上,推送已经成为一个标配功能。

9)开放平台

通过开放平台,可以使用 OAuth 等协议获取用户在第三方平台上的信息以实现第三方平台登录。比如用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。

国内的微博、微信、QQ 是最常见的第三方登录方式,阿里系的产品可以通过支付宝授权登录,还有一些网站绑定了 GitHub 登录。

10)支付接口

目前,接入最多的支付接口就是支付宝和微信。

支付宝提供了当面付、APP 支付、手机网站支付、电脑网站支付等支付接口。

最新文章

  1. 烂泥:python2.7和python3.5源码安装
  2. [LeetCode] Design Tic-Tac-Toe 设计井字棋游戏
  3. java中自动装箱的问题
  4. centos7.2 yum安装lamp环境
  5. Amazon captcha
  6. Java笔记——面向切面编程(AOP模式)
  7. java对Ldap操作4
  8. mysql in查询 结果乱序 引发的思考
  9. iOS自动布局之autoresizingi
  10. js页面换行与空格
  11. Hawk-数据抓取工具
  12. Django 学习笔记(三)模板导入
  13. android RecycleView Adapter简单封装
  14. 基于配置文件的方式配置AOP
  15. 广搜迷之RE及迷之WA
  16. 利用Python通过频谱分析和KNN完成iphone拨号的语音识别
  17. vc++基础班[24]---系统各种路径信息的获取
  18. 【CentOS&Core】CentOS7下安装.NET Core SDK 2.1
  19. php创建udp Server
  20. jquery.nicescroll.min.js滚动条使用方法

热门文章

  1. input.nextLine()和input.next()的区别
  2. BasicInterpreter1.00 运行简单Basic脚本 打印变量及字符串
  3. JsonAnalyzer 源码下载
  4. webstorm单标签设置成双标签展开解决iview中col展开问题
  5. js之按钮切换
  6. 云计算openstack——维护(15)
  7. nginx中编写lua拦截器
  8. nginx的安装和启动
  9. java虚拟机配置
  10. VUE3.0发布,自己搞个文档网站