欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

服务器端开发 —— 分层架构系统的简单说明

程序员文章站 2022-06-27 19:42:27
服务器端开发技术系统架构系统架构1、结构说明2、技术支撑2.1、基础2.2、网络2.3、并发:2.4、分布式:2.5、数据存储:2.6、安全:参考系统架构1、结构说明后台系统一般分为接入层,业务逻辑层和数据存储层,它们各自有不同的职责:1、接入层: 主要负责客户端接入把用户请求分发到业务逻辑层,客户端不论是什么是浏览器还是APP类型的首先都要连接到接入层,任何请求都是通过接入层转发,客户端不用户关心功能具体有哪个服务实现的。接入层主要解决跟用户的连接问题。2、业务逻辑层: 负责实现具体的业务...

系统架构

1、结构说明

服务器端开发 —— 分层架构系统的简单说明
后台系统一般分为接入层业务逻辑层数据存储层,它们各自有不同的职责:
服务器端开发 —— 分层架构系统的简单说明

  • 1、接入层: 主要负责客户端接入把用户请求分发到业务逻辑层,客户端不论是什么是浏览器还是APP类型的首先都要连接到接入层,任何请求都是通过接入层转发,客户端不用户关心功能具体有哪个服务实现的。接入层主要解决跟用户的连接问题。
  • 2、业务逻辑层: 负责实现具体的业务功能,满足业务需求。比如在微信中你输入手机号码和登陆密码进入微信,跟好友聊天发消息都是业务层中不同的业务模块完成的。从产品的角度看它是整个后台的核心,不论是接入层还是数据存储层都是为它做支撑的。
  • 3、数据存储层: 负责保存业务所需的数据,提供业务数据的读写支撑。

比如开发一个新的产品时,这个产品是没什么用户的,可能就有几百个种子用户。功能上也不知道用户喜欢什么功能。这个时候基本没什么瓶颈的,这个时候就要遵循简单原则,架构上尽可能精简,只做最核心的一些功能,目的是要尽快上线验证。这个时候接入层和业务逻辑层可以合并,直连数据库就行了。

随着用户量增加,产品功能越来越复杂,就会遇到第一个瓶颈,不同的业务场景瓶颈也不同。比如视频的瓶颈一般在网卡I/O上,实时语音瓶颈一般在接入层上,电商类网站瓶颈一般在图片存储上即磁盘I/O,需要加密压缩的瓶颈一般在CPU上。

分析瓶颈并优化是后台开发的核心能力,它需要以下几个方面的技术支撑:

2、技术支撑

2.1、基础

  • 1.服务器硬件硬件的性能,网卡性能,磁盘I/O性能,CUP性能。

  • 2.常用系统调用和库函数的性能,如read,write, memcpy,gettimeofday。

  • 3.常用户数据结构和算法的性能,如数组,队列,二叉树,hash表。

  • 4.了解操作系统内存操作机制,熟悉内存分配算法,可以根据需要自己设计内存分配算法变体。

2.2、网络

  • 1、精通Socket网络编程,对TCP/IP协议要非常熟悉。

  • 2、熟悉常用的应层协议如http, ftp, smpt, pop3。

  • 3、能够根据需要设计专用应用层协议。

  • 4、能够根据业务场景调整操作系统或开源工具的的网络参数。

  • 5、能够根据产品运行的局域网和广域网环境优化接入机制。

2.3、并发:

1、熟练应用操作系统提供的进程间通信机制。
2、清楚地知道多线程与多进程成各自的优缺点以及它们的应用场景。
3、数据并发访问机制。
4、无锁编程技术。
5、并发设计模式。
6、同步异步程序设计,了解他们的优缺点,根据具体场景灵活使用。

2.4、分布式:

  • 1、数据同步的算法。
  • 2、数据/服务分片算法。
  • 3、负载均衡的设计方案。
  • 4、客户端接入设计。
  • 5、可用性设计。
  • 6、扩展性设计。

2.5、数据存储:

  • 1、mysql数据库运行机制,清楚各种存储引擎的特点

  • 2、了解mysql的索引设计机制,知道基本的优化方法。

  • 3、能够使用各种nosql数据库。

  • 4、数据主备方案设计

  • 5、数据cache设计

2.6、安全:

  • 1、对称加密算法,非对称加密算法,摘要算法。
  • 2、 SQL注入,跨站攻击,内存溢出防范方法。
  • 3、 了解https原理,能够根据情况设计安全方案。
  • 4、容错设计。 容灾设计。

参考

1、https://www.cnblogs.com/brandonli/p/5201544.html
2、https://www.jianshu.com/p/8cd069820f79
3、https://blog.csdn.net/weixin_45132238

本文地址:https://blog.csdn.net/JMW1407/article/details/107340574