技术主管一直做微服务 程序员不干了

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:

微服务的概念出现不是一天两天了,但是要追溯它的源头还要看SOA,毕竟微服务只是一种比较现代化的细粒度的SOA实现方式,并非从天而降突然出现的。但不得不承认,IT架构实现了从all in one到微服务架构转变,微服务架构模式(Microservice Architect Pattern)开始被越来越多的企业所接受。

根据ThoughtWorks的首席科学家,马丁·福勒先生的定义:“微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。”

如何避免盲人摸象

比如某大型互联网公司的技术主管就深感微服务架构优势多多,比如复杂可控、灵活可扩展、独立部署、开发展对性强等等,当然最重要的还有降低TCO,毕竟在微服务架构模式下,当某一组件发生故障时,不会发现单块架构系统的进程内扩散等弊端,故障会被隔离在单个服务中。

看起来好处多多,但是该部门程序员却表达了不满。因为在他们看来自己做了很多无用功。而且无论是分区的数据库架构还是对微服务架构的测试都有着极大的挑战。Nginx认为:“微服务”强调了服务大小,实际上,有一些开发者鼓吹建立稍微大一些的,10-100 LOC服务组。尽管小服务更乐于被采用,但是不要忘了这只是终端的选择而不是最终的目的。微服务的目的是有效的拆分应用,实现敏捷开发和部署。

ohn Allspaw与Adrian Cockcroft争论微服务

由此可见,针对微服务这一热门话题,并没有绝对的好坏之分。笔者认为,企业在选择IT架构模式时应该根据自身需求来平衡,如果只需要建构一个简单的应用,那大可不必用微服务架构,单体式的架构可能更适合你;如果企业需要建构复杂应用,微服务架构化整为零的功能还是值得肯定的,但是在应用过程中微服务也有自身缺点,需要警惕。


本文作者:鲁畅

来源:51CTO

相关文章
|
4月前
|
Java 数据库连接 微服务
Java程序员必学知识:高并发+微服务+数据结构+Mybatis实战实践
BATJ最全架构技术合集:高并发+微服务+数据结构+SpringBoot 关于一线互联网大厂网站的一些特点:用户多,分布广泛、大流量,高并发、海量数据,服务高可用、安全环境恶劣,易受网络攻击、功能多,变更快,频繁发布、从小到大,渐进发展、以用户为中心。 如果你工作中够仔细,你会发现这些特点跟高并发、分布式、微服务、Nginx这些技术密切相关的,是因为只要你的公司在上升,用户量级都会与日俱增,高性能、高并发的问题自然避免不了,话不多说往下看。
|
机器学习/深度学习 负载均衡 网络协议
SpringCloud+Alibaba微服务教程,Java自学/进阶程序员必看
Spring Cloud是目前市面上最火爆的Java微服务技术栈,因其功能丰富涉及微服务管理全面,并且在高可靠、高可阔以及在应对复杂业务和承受并发的能力上发挥出色,使其受到众多互联网公司的青睐。 很多公司逐步转型到微服务架构风格,所以springcloud是成为进阶Java开发高级工程师的必备技术栈。 本套课程将带你深入学习SpringCloud相关技术,学成之后可以去手动去搭建一个项目,相当可以主导一个项目开发,让你在技术上有一个质的提升。
265 0
|
监控 Java 测试技术
还不知道如何实践微服务的Java程序员,这遍文章千万不要错过!
还不知道如何实践微服务的Java程序员,这遍文章千万不要错过!
|
Java 程序员 微服务
Java程序员金九银十跳槽面试,微服务架构是你必须过的坎
Java程序员金九银十跳槽面试,微服务架构是你必须过的坎
|
3天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
16天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
20 0
|
4天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
14天前
|
Kubernetes 安全 Java
构建高效微服务架构:从理论到实践
【4月更文挑战第9天】 在当今快速迭代与竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性及容错性,成为众多企业转型的首选。本文将深入探讨如何从零开始构建一个高效的微服务系统,覆盖从概念理解、设计原则、技术选型到部署维护的各个阶段。通过实际案例分析与最佳实践分享,旨在为后端工程师提供一套全面的微服务构建指南,帮助读者在面对复杂系统设计时能够做出明智的决策,并提升系统的可靠性与维护效率。
|
1天前
|
监控 API 持续交付
构建高效微服务架构:后端开发的新趋势
【4月更文挑战第23天】 随着现代软件开发实践的不断演进,微服务架构已经成为企业追求敏捷、可扩展和弹性解决方案的首选。本文深入探讨了如何构建一个高效的微服务架构,涵盖了关键的设计原则、技术选型以及实践建议。通过分析微服务的独立性、分布式特性和容错机制,我们将揭示如何利用容器化、服务网格和API网关等技术手段,来优化后端系统的可维护性和性能。文章旨在为后端开发人员提供一套全面的指南,以应对不断变化的业务需求和技术挑战。