保护微服务架构的10个有效方式
微服务是一种创新的方式来加速和改进软件开发。该术语是指可以单独开发的应用程序子组件,并且通常专注于一个特定功能。例如,用于在线购物的电子商务应用需要具备订单收集、账户访问、库存管理和运输的几个微服务。很多知名的电子商务或社交媒体组织,如Twitter、PayPal、亚马逊、eBay和Netflix都依赖于微服务。
微服务与容器类似,但不完全相同。我们将微服务看做分子,容器看做原子;微服务可以在容器中运行,反之亦然。微服务经由应用程序编程接口(API)实现通信,作为应用程序的整个生态系统或架构的一部分。
微服务有几个优点:快速启动,可以重复使用,提高可扩展性,甚至可以包含不同的编码语言。只需要调整一个或两个微服务,而不是整个程序,更新应用程序很容易。微服务可以帮助促进和跟踪更改、解决问题、提高容错并提高性能。
与其他技术一样,微服务也存在安全风险,以及适当的使用方法。看起来微服务是分子内的原子这样的关系,但是漏洞仍然存在,即便只有一个微服务可能被破坏,仍然是一种风险。此外,过多的微服务也可能增加复杂性,并且使安全难以实现,特别是不同的开发人员和开发方法在整个应用程序中的应用。
NGINX产品主管Owen Garrett谈及微服务安全时表示:“微服务具有不同于单片架构的安全风险,主要包括:
通信变化:单片应用程序使用进程之间的内存通信,而微服务通过网络通信。移动到网络通信引起了速度和安全性的问题。
数据存储:微服务使用很多数据存储,这提供了微服务和紧耦合的服务之间的隐式服务的机遇。
技术专长:如果现有团队没有适当的管理微服务的经验,微服务会造成额外的复杂性,反过来又会造成安全漏洞。”
以下将介绍10个保护微服务架构的途径:
1、在开发微服务时,建立通用的可重复编码标准,可以在其他地方重复使用,减少可能导致可利用漏洞或升级特权的差异。
2、将渠道控制在最低限度,考虑每个特定的微服务被损害之后会造成什么后果,并且注意如何调整并保护微服务。
3、使用访问控制向进程或个人提供数据。尽可能在单独的功能和环境中使用分段,例如,如果没有必要创建或更改现有信息,那么仅仅检查清单可用性的微服务应该被授予数据库的读取权限,而不是读/写权限。
4、在微服务的代码中使用安全规则,而不是通过外部方法在实现之后应用。
5、尽可能使用集中的安全或配置策略,可以跨平台应用,以建立一致性并减少人员分析或交互的必要性。
6、多人审查微服务的代码,以减少人为错误,以及提供对代码可行性的洞悉。
7、完全记录每个微服务以说明其服务的功能,可以暴露出潜在的弱点
8、完全映射微服务之间的通信方法,以便识别潜在的问题区域以及可能表示漏洞或劫持的不规则行为
9、当使用外部访问时,对传输中的数据和禁止时使用加密
10、对微服务进行定期代码和使用评审,并删除过时或未使用的服务。
本文转自d1net(转载)
使用 JHipster 构建微服务架构 在本文中,我们将着眼于代码生成工具 JHipster 生成和支持的微服务架构。 JHipster 是一个代码生成工具,可以为 Kubernetes 创建 Web 应用程序、微服务、部署文件、云集成和 CI/CD Jenkins 文件。这个工具对于可以快速生成代码并避免创建样板代码的开发人员非常有帮助,可以节省 30% 的工作量。 JHipster 支持 Spring Boot 中的后端代码和 Angular/React/Vue.js 中的前端代码。 在本文中,我们将研究 JHipster 生成和支持的微服务架构。
相关文章
- python 里面的单下划线与双下划线的区别(私有和保护)
- 进程隐藏与进程保护(SSDT Hook 实现)(二)
- 大数据要充分利用 但更要保护用户隐私
- 打开屏幕保护的5个方法
- 保护主题不受更改
- 在DJANGO的类视图中实现登陆要求和权限保护
- 一个能够保护个人收藏夹隐私的Chrome扩展
- Atitit、 知识管理法 目录 1. 信息管理的演进1 2. 显性知识管理1 3. 隐形知识1 4. 知识产权保护1 1.信息管理的演进 文献管理,计算机管理,信息资源管理,情报管理,直
- OAuth:每次授权暗中保护你的那个“MAN”
- 多方安全计算:隐私保护集合求交技术
- C++头文件保护符和变量的声明定义
- .Net Reactor 单个dll或exe文件的保护
- 0501-Hystrix保护应用-超时机制、断路器模式简介
- 华为运营商级路由器配置示例 | IS-IS Anycast FRR保护
- FineReport帆软报错:很抱歉,数据集行数过多触发保护机制,请减少查询数据量。若您是管理员,可于智能运维-内存管理-模板限制中更改此项限制。
- 【继电保护】在线故障分析之过流保护研究(Simulink)
- 数字资产使用授权保护协议