微服务是开发架构对三高场景的妥协吗?

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: #架构 #运维 #云平台 #职责 #微服务架构 #单体架构 #编码

大家好我是酒癫,今天我来浅谈一下微服务架构,是否是对主要为三高场景的妥协这个话题。

前言:

微服务架构是为了解决传统单体架构的缺点,而产生的架构,网上所说的优点一般有如下:

1.独立部署一小块功能

2.快速启动,因为功能更小,所以启动更快

3.分治思想有所表现

4.扩容方便

5.解耦

6.方便维护

其他······

当然微服务也有很多缺点,我们暂时不说缺点,只看优点。我个人从接触微服务框架开始到现在心里一直有个疑问:微服务的架构是否有必要。其实这个话题早在国内外就有很多讨论了,我在这里稍微阐述一下我的观点。

首先,微服务框架是为了解决一些问题才出现的,主要解决的问题就是三高场景下,服务的健壮性。确定的一件事是这问题是实际存在的,是需要解决的,只是我认为解决的方式错了,我觉得解决这些问题的“层”或者“人”错了。

我认为编码就是单纯的编码,微服务需要解决的问题,应当是云服务平台的职责。

编码就是编码,开发人员应该提供的是最简约的原始代码功能,凡项目中涉及微服务的功能都不应该出现,应该交给代理实现,而这个部分如果是云平台的话,应当全权由云平台负责, 这样不仅能大量节省企业的开支,也能让云平台职责更明确。

我们从广义看一次请求,从请求-》服务-》响应,然后开发提交的是最纯粹的代码,我们以电商项目为例,首页有压力,现在的解决办法是各种的缓存、延迟、等技术,这些应该是云平台做,部分功能有流量压力,可以动态增加/减少硬件配置,这个也应该是云平台做,因为你多机器部署不是总想省钱么,但是你难道就没发现你就算多机器部署了,还是大多数时间机器都是空闲的吗?这样的话你拆机器部署有何意义呢?所以云平台应当有自己的一套系统,可以动态分配硬件配置支持,实时生效,这样就可以用尽可能少的机器,尽可能24小时满配载的情况下,跑业务。你分布式事务为啥?因为业务链或者数据链长,数据存取慢,所以分治处理,比如什么分库,这些应该你开发架构考虑吗?还是云平台做,慢的最根本原因就是性能不够(得加钱)。银行不少业务都是大机器跑,3位数的核心,内存就更不用说了,需要什么微服务拆分吗,不需要,还简单,没有微服务的缺陷。然后你觉得大机器买的贵,能理解,但这个云平台提供按需使用成本不就下来了。

我不知道上面说的一些东西是否能说服你,或者现在正有人骂我呢,我们就事论事,我认为开发就是单纯编码,性能问题是硬件问题,不应该由开发负责,也就是说微服务架构应当由专门云平台解决,这个云平台可以是企业自建,也可以用现在的云厂商,但说句实话,我现在还没看到能做好这一点的厂商。至于你怎么实现,那是平台的问题,可以理解吧,实际上机器比人贵多了,每秒钟都按需使用,按需结算的云,才是好云。

综上所述,微服务架构,我个人认为就是开发架构在这个阶段对主要为三高场景下的业务环境,的妥协。开发架构做了不应该做的事,代码中揉进了太多业务无关的功能和配置,这样说能理解吧。基于这一点,你就会发现,保持代码纯净才是一个合格开发最应该做的事,你写代码就是完成业务功能的,这件事以外的所有东西都不应该让代码做。

小结:

云平台如何实现动态资源,这可是很有意思的话题,毕竟便宜又稳定,是所有企业的首选,这个是另一个话题了,且听下回分解(时间未定),再引一个话题,如果云平台完美了,如何精简企业开发团队成本(主要是人)呢?


相关文章
|
1月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
173 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
1月前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
212 36
微服务架构解析:跨越传统架构的技术革命
|
1天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
5天前
|
人工智能 运维 监控
云卓越架构:企业稳定性架构体系和AI业务场景探秘
本次分享由阿里云智能集团公共云技术服务部上海零售技术服务高级经理路志华主讲,主题为“云卓越架构:企业稳定性架构体系和AI业务场景探秘”。内容涵盖四个部分:1) 稳定性架构设计,强调高可用、可扩展性、安全性和可维护性;2) 稳定性保障体系和应急体系的建立,确保快速响应和恢复;3) 重大活动时的稳定重宝策略,如大促或新业务上线;4) AI在企业中的应用场景,包括智能编码、知识库问答、创意广告生成等。通过这些内容,帮助企业在云计算环境中构建更加稳定和高效的架构,并探索AI技术带来的创新机会。
|
22天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
68 3
|
20天前
|
前端开发 搜索推荐 安全
陪玩系统架构设计陪玩系统前后端开发,陪玩前端设计是如何让人眼前一亮的?
陪玩系统的架构设计、前后端开发及前端设计是构建吸引用户、功能完善的平台关键。架构需考虑用户需求、技术选型、安全性等,确保稳定性和扩展性。前端可选用React、Vue或Uniapp,后端用Spring Boot或Django,数据库结合MySQL和MongoDB。功能涵盖用户管理、陪玩者管理、订单处理、智能匹配与通讯。安全性方面采用SSL加密和定期漏洞扫描。前端设计注重美观、易用及个性化推荐,提升用户体验和平台粘性。
52 0
|
1月前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
44 1
|
1月前
|
Cloud Native API 持续交付
云原生架构下的微服务治理策略与实践####
本文旨在探讨云原生环境下微服务架构的治理策略,通过分析当前面临的挑战,提出一系列实用的解决方案。我们将深入讨论如何利用容器化、服务网格(Service Mesh)等先进技术手段,提升微服务系统的可管理性、可扩展性和容错能力。此外,还将分享一些来自一线项目的经验教训,帮助读者更好地理解和应用这些理论到实际工作中去。 ####
42 0
|
1月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
2月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
53 3
下一篇
开通oss服务