当前位置: 首页>关于天府>天府新闻 > 天府公告
天府简介 银行文化 人才招聘 村镇银行 天府新闻 慈善公益 信息披露 天府网点

四川天府银行微服务开发规范

2023-09-26 04:35
 

前言

开发规范由四川天府银行股份有限公司科技研发部提出。

本开发规范旨在为四川天府银行股份有限公司科技研发部开发人员提供微服务开发的指导原则和参考规范。通过本规范提高微服务开发的质量和效率,提升系统的可维护性和可靠性。


1.范围

开发规范适用于四川天府银行科技研发部在微服务架构下的开发活动,包括服务设计、开发、测试、部署、运维和安全等方面。

2.规范性引用文件

下列文件中的条款通过本部分的引用而成为本部分的条款。凡是标注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,凡是未标注日期的引用文件,其最新版本适用于本部分。

GB/T 32402-2015, 信息技术云计算概览与词汇

GB/T 32399-2015, 信息技术云计算参考架构

GB/T 36325-2018, 信息技术云计算云服务级别协议基本要求

GB/T 36326-2018, 信息技术云计算云服务运营通用要求

GB/T 22080-2016, 信息安全管理体系要求

3.术语与定义

以下术语和定义适用于本标准规范:

微服务(Microservice):一种分布式系统架构,将应用程序拆分成多个独立的的服务,每个服务都运行在自己的进程中,通过轻量级通信机制进行通信。

服务(Service):提供一组功能,供其他服务或应用调用。

注册中心(Registry):用于服务发现和注册的中心化组件。

配置中心(Config Service):用于管理应用程序配置信息的中心化组件。

API网关(API Gateway):用于管理和路由微服务之间的请求的组件。

镜像(Image):构建镜像是指服务经过打包后,用于运行在容器运行时的文件。在该标准中,将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,成为镜像。

容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器进程做隔离,对外不可见。

容器编排(Container Orchestration):用于自动化部署和管理微服务容器的过程。

服务发现(Service Discovery):允许服务在运行时自动发现其他服务的机制。

限流(Rate Limiting):限制服务的请求速率,以防止过载的机制。

4.设计原则

微服务的核心思想是将应用程序分解为多个小型服务,每个服务都具有独立的功能和责任,可以独立开发、测试、部署和扩展,从而提高了应用程序的可维护性、可扩展性和灵活性。此外,微服务还使得不同的服务可以使用不同的技术栈和开发语言,从而使得团队可以选择最适合其需求的技术栈。

在进行微服务设计时,应遵循以下原则:

单一职责原则(Single Responsibility Principle):每个服务应只负责一个功能,保持服务的职责单一。

服务自治原则(Service Autonomy Principle):每个服务都应独立开发和部署,不受其他服务的约束。

接口明确原则(Interface Clarity Principle):服务之间的接口应清晰定义,遵循面向接口编程的原则。

高内聚低耦合原则(High Cohesion and Low Coupling Principle):服务之间应保持松耦合,提高服务的内聚性。

可扩展性原则(Extensibility Principle):设计应考虑未来的扩展需求,避免过早的耦合和依赖。

可容错性原则(Fault Tolerance Principle):设计中应考虑容错机制,如熔断、限流等,以增强系统的稳定性。

可监控性原则(Monitoring Principle):服务的状态和性能应可监控,以便及时发现问题并进行优化。

安全性和隐私保护原则(Security and Privacy Protection Principle):所有服务都应遵循安全性和隐私保护的最佳实践,确保数据的安全性和隐私性。

标准化原则(Standardization Principle):遵循统一的开发、部署和运维标准,提高团队协作和效率。

5.安全规范

在微服务架构中,安全规范是至关重要的,它涵盖了多个方面。首先,每个微服务都应该具有明确的安全策略,包括身份验证、授权、数据保护等以下是详细说明

安全性设计:在服务设计阶段,应充分考虑并实施适当的安全措施,例如访问控制、加密通信和数据保护等。

身份验证与授权:对于敏感操作或访问敏感数据,应使用有效的身份验证和授权机制,例如OAuth、JWT等。

数据保护:确保敏感数据在传输和存储过程中得到适当的保护,例如使用加密算法对敏感数据进行加密。

异常处理:对于出现的异常情况,应进行适当的处理,例如记录日志、发送告警信息等。

安全审计:对系统的所有操作进行审计,包括访问、修改和删除等操作,确保可追溯性。

6.运维与可用性

运维与可用性是微服务架构的重要组成部分,以下是关键点说明

容器化部署:使用容器技术(如Docker)来封装和部署微服务,实现轻量级和可移植性。

自动化运维:通过自动化工具(如Kubernetes)进行服务的部署、扩缩容、监控、日志收集等运维操作。

弹性伸缩:根据服务的负载情况,实现自动或手动弹性伸缩,保证系统的可用性。

容错机制:通过断路器、限流等技术,防止服务过载,保证系统的稳定性。

监控与告警:对系统中的各项指标进行实时监控,包括服务状态、请求响应时间、错误率等,并设定告警阈值,以便及时发现和解决问题。

日志管理:统一管理和归档日志信息,便于问题排查和性能分析。

持续集成与持续部署(CI/CD):通过自动化流程来整合开发、测试、部署等环节,加快产品迭代速度和质量。

附件下载: