如何将我的服务开放给用户:构建API接口和用户认证的实践指南
1.域名系统
1.1使用域名系统
1.1.1Host管理
采用主机表管理IP的映射:Host->IP。
但是随着公司业务规模和员工数量增长,此方法会遇到如下问题:
- 随着用户规模指数级增长,会引起较大的网络流量和CPU负载;
- 无法保证主机名称的唯一性,同名主机添加导致服务故障
- 分发靠人工上传,时效性差
1.1.2使用域名系统替换Hosts文件
域名空间是树形结构;通过划分zone进行分层授权管理;全球公共域名空间仅对应一棵树;根域名服务器为查询起点
1.1.3域名购买与配置迁移
域名购买途径常规在公有云厂商处(像火山引擎和阿里云)
- 域名备案:防止非法网站在网上进行非法活动,所以进行实名认证并备案
1.1.4如何开放外部用户访问
如何建设一个外部网站?
- 租赁一个外网IP(用于外部用户访问)
- 将网址解析到外网IP
- 将IP绑定到一台物理机上并发布公网route->用于外部访问
2.自建DNS服务器
为什么要建立DNS服务器?
- 内网域名的解析也得从公网获取,效率低下
- 外部用户在看到内网IP的同时,也容易被黑客攻击
3.HTTPS协议
为什么用HTTPS协议,不用HTTP?
当网站使用不安全的HTTP协议,用户通过浏览器访问该网站是明文的,容易被第三方监视甚至篡改。
4.接入全站加速
为什么要全站加速?
- 报文经过越多的网络设备,更容易出现丢包、劫持等问题
- 网站可能无法在同时接受大量请求访问用户 随着在线业务发展,全球用户越来越多,但更长的传输距离、不同地区的网络质量差异和网络拥塞等问题,都可能导致网站或应用程序加载变慢甚至停止响应,影响用户的访问体验。采用全站加速(静态加速+动态加速),提供更快速的访问,实现更低的互动延迟,给用户带来更沉浸的互动体验。
4.1静态加速CDN
- 优化网络热点分布
- 解决服务器端第一公里的问题
- 减轻出口带宽压力
- 缓解不同运营商之间互联造成的影响
4.2动态加速DCDN
- 智能识别并加速静态资源
- 智能弹性的边缘计算服务
- 边缘安全防护
5.四层负载均衡
如何更充分地利用和管理有限的公网IP资源?
4层负载均衡是基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡的落到后端服务器上。
4层负载均衡的特点:(来源于zhuanlan.zhihu.com/p/395579459)
- 四层负载均衡仅能转发TCP/IP协议、UDP协议,通常用来转发端口
- 四层负载均衡可以解决七层负载均衡端口限制的问题
- 四层负载均衡转发效率比七层高,但不支持http/https协议
- 大并发场景通常会选择在七层负载前面加上四层负载均衡
6.七层负载均衡
七层网络应用型负载均衡,是基于第七层交换的负载均衡技术,主要用于实现Web应用的负载均衡和服务质量保证。 它与第四层交换机比较起来有许多优势:可通过具体的域名和协议进行转发,第七层交换机不仅能检查TCP/IP数据包的TCP和UDP端口号,从而转发给后台的某台服务器来处理,而且能从会话层以上来分析Http请求的URL,根据URL的不同将不同的Http请求交给不同的服务器来处理(可以具体到某一类文件,直至某一个文件),甚至同一个URL请求可以让多个服务器来响应以分担负载(当客户访问某一个URL,发起Http请求时,它实际上要与服务器建立多个会话连接,得到多个对象,例如.txt/.gif/.jpg文档,当这些对象都下载到本地后,才组成一个完整的页面)。(来源于www.pesyun.com/chinese/new…)