[微服务]3分钟决策是否要用微服务架构

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: [微服务]3分钟决策是否要用微服务架构

一.认识微服务架构

应用架构发展:单体应用  SOA(ESB) 微服务云原生

朴素理解转微服务架构就是系统服务化拆、再拆、再拆拆

微服务是一种架构风格不是技术标准。

微服务架构思想:

      系统拆得小服务化

      服务独立部署运行

      服务间http/https轻量级通信(restful)

      服务治理

      服务开发可不限技术栈

      服务可不同存储技术

可自研或Dubbo或spring cloud等

二.微服务解决什么问题

软件工程从来没有银弹。微服务架构也不是。

个人经验微服务架构解决下列问题之一:

业务复杂或将复杂难于扩展、维护

难于快速响应移动互联下多端产品需求差异多变化快

大流量高并发下很难保证高可用、稳定

三.微服务开发的工程性问题

技术选型 (spring cloud OR K8S OR K8S + istio)

业务如何拆分(没有标准)

建议子应用级别,不建议拆得太细,太细的话对服务治理挑战和代价更大。

技术规范制定

Restful API规范等开发规范、测试规范、运维规范。

开发、测试模式转变

    前后端分离、小团队协同、DevOps开发模式

运维升级

   容器化部署、配套服务治理基础设施搭建,如网关流控、全链路调用监控、日志采集与监控等

小结:

微服务架构开发是大而复杂工程,所有服务组件和服务治理的基础设施都要完善,才能走稳走远。

四.微服务架构的技术选型

从业务实际出发。看眼前收益也看未来。

Spring cloud +docker  OR 云原生 K8S+istio:

组件Spring cloud云原生

自愈和自动伸缩无kube-controller-manager

调度和发布无kube-scheduler+Deployment

配置管理Spring Cloud ConfigConfigMap

服务发现与调用Eureka+Ribbon(Open Feign)Istio envoy

弹性和容错HystrixIstio envoy

网关ZuulIstio Gateway

服务安全Spring Cloud SecurityIstio Auth

调用链路监控Spring Cloud Sleuth+ZIPkinIstio envoy+Jaeger

Metrics监控actuator+Spring Boot AdminIstio+Prometheus

日志收集Spring Cloud Sleuth+ELKfuentd/Istio

比较:1)Spring cloud上手快、 K8S+istio复杂学习曲线高坑多点;

         2)服务实现和服务治理前者耦合,应用侵入式 后者完全解耦,开发只关注业务效率更高;

         3)前者只支持java,后者支持多语言;

个人经验建议:

团队人员具备K8S经验(或公司重视积极投入),优先云原生 K8S+istio。

      因为随着5G和AI成熟、大数据云计算、万物智联发展趋势需要可以更快速灵活支持新业务的拓展。

java栈开发且历史包袱重建议spring cloud开发逐步演进。


文/老猿,写代码写诗写职场的程序猿大叔,倾力原创简单实用的硬干货,转载此文请联系老猿

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
12天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
45 2
|
16天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
48 2
|
1月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
1月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
2天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型加速的今天,云原生技术以其高效、灵活、可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生环境下微服务治理的策略与实践路径,旨在为读者提供一个系统性的微服务治理框架,涵盖从服务设计、部署、监控到运维的全生命周期管理,助力企业在云端构建更加稳定、高效的业务系统。 ####
|
3天前
|
运维 监控 Cloud Native
云原生架构下,微服务治理的艺术与实践####
【10月更文挑战第14天】 在数字化转型的大潮中,云原生技术以其高效、灵活与可扩展性成为企业IT架构的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务治理的策略与实践,揭示了如何通过精细化管理提升系统的响应速度、稳定性和可维护性。不同于传统的摘要概述,本文摘要旨在直接触及读者关注的核心——即如何在复杂多变的云环境中,实现微服务的高效协同与治理,为读者提供一个清晰的行动指南。 ####
11 1
|
13天前
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
38 8
|
17天前
|
消息中间件 负载均衡 Cloud Native
云原生之旅:从容器到微服务的架构演变
在数字化转型的风潮中,云原生技术以其灵活性、可扩展性和弹性而备受青睐。本文将通过一个虚拟的故事,讲述一个企业如何逐步拥抱云原生,实现从传统架构向容器化和微服务架构的转变,以及这一过程中遇到的挑战和解决方案。我们将以浅显易懂的方式,探讨云原生的核心概念,并通过实际代码示例,展示如何在云平台上部署和管理微服务。
|
1月前
|
JSON 监控 安全
探索微服务架构中的API网关模式
【9月更文挑战第22天】在微服务架构的海洋中,API网关如同一位智慧的守门人,不仅管理着服务的进出,还维护着整个系统的秩序。本文将带你一探究竟,看看这位守门人是如何工作的,以及它为何成为现代云原生应用不可或缺的一部分。从流量控制到安全防护,再到服务聚合,我们将一起解锁API网关的秘密。
|
1月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
116 3