一个架构的系统功能常规划分办法?
系统架构:
(1)表现层:UI界面显示,支持不同设备的响应兼容层,比如IOS、Android的呈现。
(2)应用层:中间件,业务逻辑处理层,比如订单处理、库存管理、用户认证;状态管理,请求调度、任务管理、消息队列。集成服务,与其他应用或者服务进行集成。
(3)服务层:服务封装、事务管理、安全管理。数据来源整合,把复杂的数据统一包装成服务,对外统一输出。确保数据一致性和完整性。对服务的访问控制,安全验证。【RESTAPI、微服务中间件】
(4)数据访问层:对数据库的统一操作增删改查,对数据库的映射操作,缓存管理。
【JPA、Hibernate等ORM工具、SQL】
(5)数据层:数据库。数据治理,统一输出合适的数据。
存储结构化数据(MYSQL)或者非结构化数据(NoSQL数据库MongoDB)。文件存储系统(AWS S3)。数据仓库和数据湖的存储。
(6)集成层:管理与外部系统的集成交互,支持跨系统数据交换和操作协作。
支持异步消息传递和驱动。订单处理、消息通知。ESB企业服务总线,处理不同的系统之间的消息转换、路由编排、编码。【RabbitMQ、Kafka、API GatewayKong、Apache Camel】
(7)安全层:身份认证和授权、管理用户身份验证(OAuth、JWT、SSL/TLS、Spring Security)和权限控制,数据加密和传输、检测和响应安全威胁和漏洞。
(8)管理层:配置监控和管理、确保系统的可用性和性能。
系统监控,实时监控系统的运行状态和性能指标。日志管理,日志收集和分析。配置管理,管理系统的配置文件和参数,支持自动化部署和升级。
Prometheus(监控)、ELK Stack(日志管理)、Kubernetes(容器编排与管理)。
(9)基础设施层: 硬件设施。网络、计算机资源、存储资源、基础服务(负载均衡、防火墙、域名解析服务)。AWS Aurze、NGNIX、VMWare