理论教育 系统辅助功能设计的重要部分

系统辅助功能设计的重要部分

时间:2023-11-24 理论教育 版权反馈
【摘要】:图6-14 使用单点登录的网站结构2.第三方登录系统设计在传统的账户名和密码注册和登录的方式之外,亦可以使用微信或QQ第三方授权认证的方式进行快速注册和登录商城,为大众顾客提供方便,同时保证平台会员的真实性,第三方登录流程设计如图6-15所示。图6-17 使用Nginx后架构图Nginx能够配置代理多台服务器。当一台服务器宕机之后,仍能保持系统可用。

系统辅助功能设计的重要部分

1.单点登录

采用单点登录,即一次登录认证,多个应用系统(包括不同开发语言开发的系统)中通行,单点登录是一种控制多个相关但彼此独立的系统的访问权限,拥有这一权限的用户可以使用单一的ID和密码访问某个或多个系统从而避免使用不同的用户名或密码,或者通过某种配置无缝地登录每个系统。

使用单点登录的网站结构如图6-14所示。

图6-14 使用单点登录的网站结构

2.第三方登录

系统设计在传统的账户名和密码注册和登录的方式之外,亦可以使用微信或QQ第三方授权认证的方式进行快速注册和登录商城,为大众顾客提供方便,同时保证平台会员的真实性,第三方登录流程设计如图6-15所示。

图6-15 第三方登录流程设计

3.与外部系统对接接口服务

为支撑电商平台的运行,需要与第三方平台或系统建立标准接口,可通过WEBSERVERS服务或调用第三方API,实现数据的传输与接收,具体建立第三方接口视电商平台支撑的实际业务而定,下面介绍一些基本常用的接口:

(1)支付接口:与第三方支付平台进行对接,通过调用微信、支付宝银行等第三方提供的标准的SDK,实现微信、支付宝、银联的在线支付。

(2)短信平台接口:与阿里云短信平台建立接口,调用短信模块,实现短信的消息发送功能。

(3)邮件平台接口:与邮件平台建立接口,可实现通过企业邮箱转发邮件的功能。

(4)地图接口:获取个人地理信息位置(经、纬度度坐标),通过调用百度地图、高德地图等API,实现地图导航的功能。

(5)天气接口:通过WEBSERVERS服务调用天气接口,获取未来7~15天的天气预报数据。

(6)财务系统接口:根据财务系统需要,系统可生成财务系统所需要的数据,为财务系统提供数据接口或文件,可导成Excel或HTML文件,用于财务系统的数据接收。

4.数据库主从热备和读写分离

在电商网站中,数据库性能是导致系统性能瓶颈最主要的因素之一。配置数据库的主从热备一方面可以保护数据,减少数据库突然宕机带来损失;另一方面将写操作在Master上执行,读操作分摊到Slave上进行,可以大大提高读操作的效率,保证了系统的高可用性

(1)主从热备(www.daowen.com)

MySQL主从热备的原理简单地说:就是主服务器上执行过的SQL语句会保存在Binarylog里面,其他从服务器把主服务器的Binarylog日志同步过来,然后重复执行一遍,那么它们就能一直同步(见图6-16)。

图6-16 MySQL主从热备的原理

整体上来说,复制有三个步骤:

1)作为主服务器的Master,会把自己的每一次改动(每条SQL语句)都记录到二进制日志Binarylog中。

2)作为从服务器Slave,会用Master上的账号登录到Master上,读取Master的Binarylog,写入自己的中继日志Relaylog。

3)然后从服务器自己的SQL线程会负责读取这个中继日志,并执行一遍。

到这里主服务器上的更改就同步到从服务器上了,这种复制和重复都是MySQL自动实现的,我们只需要配置即可。

(2)读写分离

现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多,从而影响用户体验。通常的做法就是把查询从数据库取出来,采用多个从库,使用负载均衡,减轻每个从库的查询压力

采用读写分离技术的目标:有效减轻Master库的压力,又可以把用户查询数据的请求分发到不同的Slave库,从而保证系统的健壮性

具体到开发中,如何方便地实现读写分离呢?最常用的方式,就是定义两个数据库连接,一个是Master Data Source,另一个是Slave Data Source。更新数据时读取Master Data Source,查询数据时读取Slave Data Source。

5.应用服务负载均衡

在网站创立初期,一般都使用单台机器对外提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候就会考虑通过扩容的方式来提供更好的服务,一般会把多台机器组成一个集群对外提供服务。然而,网站对外提供的访问入口都是一个的,比如www.yoyanwang.com,那么当用户在浏览器输入www.yoyanwang.com的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡在做的事情。

在应用服务器前面部署负载均衡服务器调度用户请求,根据分发策略将请求分发到不同应用服务器节点。常用的负载均衡技术硬件有F5,价格比较贵,软件有LVS、Nginx、HAProxy。

其中,Nginx的特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用Nginx网站的用户有:百度、京东、新浪网易腾讯淘宝等。图6-17是使用Nginx后架构图

图6-17 使用Nginx后架构图

Nginx能够配置代理多台服务器。当一台服务器宕机之后,仍能保持系统可用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈