Browsed by
日期:2020年10月8日

企业应用架构演化探讨:从微服务到Service Mesh

企业应用架构演化探讨:从微服务到Service Mesh

閱讀本文約花費: 18 (分鐘)导读 当下微服务的实践方案中,Spring Cloud,Dubbo作为主流的落地方案,在企业应用架构中发挥越来越重要的作用。需要特别说明:本文讨论的架构目前适用于普通的企业级应用,其他行业(例如互联网)需要进一步扩展。 在讨论之前,我们需要明确一个事实:企业应用一定是围绕业务进行的。无论采用什么的架构落地,都是为了更好的为应用业务进行服务。从企业应用的特性考虑,主要包括:稳定性,安全性,扩展性,容错性。 围绕着企业应用的这些特点,我们来看一个典型的微服务企业架构模型,如图所示: 服务接入层:企业暴露到外部访问的入口,一般通过防火墙等。 网关层:服务网关是介于客户端和服务端的中间层,所有的外部请求会先经过服务网关,为企业应用提供统一的访问控制入口。服务网关是微服务架构下的服务拆分,聚合,路由,认证以及流控综合体现。 支撑服务层:为企业应用提供运行所需的支撑环境,包括注册发现,集中配置,容错限流,认证授权,日志聚合,监测告警,消息服务等 业务服务层:业务服务是企业应用的核心所在,为企业领域应用的具体实现,一般进一步拆分为基础服务(基础功能)和聚合服务(综合场景)。 平台服务层:为企业应用提供运行所需的软件资源,包括应用服务器,应用发布管理,应用镜像包管理,服务治理。 基础设施层:为企业应用提供运行所需的硬件资源,包括计算资源,网络资源,存储资源,基本的安…

Read More Read More

dubbo接口自动化用例性能优化

dubbo接口自动化用例性能优化

閱讀本文約花費: 8 (分鐘)前言 去年换了一个新部门,看了下当前的自动化用例的情况,发现存在三类性能问题: 本地调试运行时等待时间较长,就算是一个简单的case,执行时间都需要1分钟以上 单用例执行时间比较长,部分用例执行时间超过2分钟 集成到CI中运行时,执行时间较长 对于上述三个问题花时间进行了一定程度的优化,总结如下 优化本地调试时间 通过调试可以发现,一个需要执行660ms的case,在执行前的初始化工作就需要消耗约1分半钟,那么就需要思考下能否减少这部分初始化时间了。 公司用的自动化框架是基于AbstractTestNGSpringContextTests的框架。AbstractTestNGSpringContextTests是一个spring集成testNg的工具,可以通过ApplicationContext加载bean。ApplicationContext实现的默认行为就是在启动服务器时将所有bean提前进行实例化。提前实例化意味着作为初始化过程的一部分,applicationContext实例会创建并配置所有的bean。 如果是作为一个spring服务,在启动时将bean提前进行实例化,然后可以处理所有的请求,这样的做法是很合理的。但是作为本地调试,更关注是自己case运行时所需要的bean是否实例化,而不需要将所有bean进行实例化。 查阅了下spring相关文…

Read More Read More

谁是 左耳朵耗子?

谁是 左耳朵耗子?

閱讀本文約花費: 3 (分鐘)每一位初出茅庐的程序员,都梦想着能遇到一位技术大神,把自己领进编程高手的殿堂。可是现实中,身边并没有那么多大神,即使偶尔遇到,人家也没时间去手把手指导你。 今天小灰给大家介绍一位大神,虽然他的技术非常厉害,但为人却很热情谦逊,很愿意指导行业的新人。这位大神是谁呢?他就是 左耳朵耗子。 左耳朵耗子是谁? 左耳朵耗子,本名陈皓。资深技术专家,骨灰级程序员。MegaEase 创始人, 致力于为企业提供高可用、高并发、高性能的分布式技术产品,同时也提供物联网(IoT)方向的技术产品。 20年技术管理与实战经验,曾在阿里巴巴、亚马逊、汤森路透等公司任职,职业背景是金融和电子商务行业,精通架构和各种大规模的系统开发。十余年受到企业邀请,进行内部培训和分享,涵盖软件团队管理、架构技术、编程语言、操作系统等各方面,并为企业量身定制的咨询或软件开发。 陈皓文章观点鲜明,具有极强的个人风格与特点,言辞犀利,引发读者思考与讨论,鼓励批评与不同的声音。2002 年开始写技术博客,十余年坚持分享对技术的一些见解和心得,得到数十万开发者追随。 左耳朵耗子为我们带来了什么? 陈皓先生花费大量心血,为我们带来一系列精彩的专栏课程分享。课程包含了与技术人或企业切身利益相关的内容,以及更具指导性、更有商业价值的经验。每篇文章都是陈皓的亲身经历和实践总结,非常来之不易。 内容将会…

Read More Read More

Scroll Up