天天看点

扫盲:Java 后端开发常用的 10 种第三方服务(1)

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

请肆无忌惮地点赞吧,微信搜索【沉默王二】关注这个在九朝古都洛阳苟且偷生的程序员。

本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题。

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

扫盲:Java 后端开发常用的 10 种第三方服务(1)

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 呢?来看下面这张图。

扫盲:Java 后端开发常用的 10 种第三方服务(1)

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

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

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

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

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

方案一,IaaS。

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

方案二,PaaS。

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

方案三,SaaS。

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

4)域名

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

有一段时间,域名炒得很厉害,就像炒楼盘一样。我有个大学同学就屯了不少域名,不过最终都没有卖出去。

小米联合创始人黎万强之前在微博上确认了小米域名(mi.com)的交易价格,360 万美元,约合人民币 2243 万元左右。雷军直呼“贼贵”!

我是通过腾讯云买的域名。

http://www.itwanger.com/

it 即 information technology,wanger 就是“沉默王二”中“王二”的拼音。不过说真的,后悔买 .com 了,年费有点贵,应该换成冷门的域名,比如说 .top,太穷了我。

5)CDN

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

比较有名的 CDN 服务商有:

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

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

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

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

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

我个人在做网站的时候,喜欢用 BootCDN 来加速 CSS 和 JavaScript,记忆里简介上说是又拍云和 Bootstrap 中文网合作的,现在看是猫云——不知道发生了什么。