热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

微服务_微服务以及SOA架构

本文由编程笔记#小编为大家整理,主要介绍了微服务以及SOA架构相关的知识,希望对你有一定的参考价值。DockerDocker解决了微服务架构下,服务的粒度细服务数
本文由编程笔记#小编为大家整理,主要介绍了微服务以及SOA架构相关的知识,希望对你有一定的参考价值。


Docker

Docker解决了微服务架构下,服务的粒度细服务数量多所导致的开发环境搭建,部署以及运维成本高的问题,也可以大大降低随着微服务数量增多所导致的节点数量增多的成本。

SOA vs 微服务

SOA:将服务分解成多个子系统来实现,粒度比较大,基于企业服务总线,集中式的服务架构,属于单块架构系统,相互依赖,部署复杂,集成方式依赖于SOAP/ESB/WS等重量级协议;

微服务则自底向上开展实施,一个系统被才分成多个粒度精细的服务,集成方式为HTTP/REST/JSON轻量级协议,无集中式总线,服务能够独立部署,特别是基于docker技术。

总的来说,微服务是传统SOA的一个子集;

微服务vs共享库

微服务通常与语言无关,平台无关。

微服务提倡围绕业务组织团队,微服务的模式往往要求团队成员更有多样性的能力,不像传统的安装技术能力范畴划分:前端,后端,用户体验UI等团队。

微服务架构属于产品导向,比传统的项目导向使得团队更有主人翁意识,负责整个服务的整个生命周期。从服务的分析,开发,测试,部署到运维每个环节都要有服务的团队成员来负责。

实际上我可以这样理解:每个服务都是一个scrum团队,有前端ui,有前后端开发,有测试,有dba人员,是一个战斗的团队。多个scrum team组成整个产品的master项目。

技术选型

对于传统的单块架构系统,最初的技术选型将严重制约限制将来的技术演进能力,如果想尝试新的编程语言或者框架,是非常困难的。而微服务架构则可以依据评估服务的重要程度以及团队的能力选择一个服务作为试点切换语言或者框架,快速完成,成功后可以应用到所有的服务模块,甚至就使用不同的语言和框架。

 


推荐阅读
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文探讨了利用Python编程语言开发自动化脚本来实现文件的全量和增量备份方法。通过详细分析不同备份策略的特点,文章介绍了如何使用Python标准库中的os和shutil模块来高效地管理和执行备份任务。此外,还提供了示例代码和最佳实践,帮助读者快速掌握自动化备份技术,确保数据的安全性和完整性。 ... [详细]
  • 解读中台架构:微服务与分布式技术的区别及应用
    中心化与去中心化是长期讨论的话题。中心化架构的优势在于部署和维护相对简单,尤其在服务负载较为稳定的情况下,能够提供高效稳定的性能。然而,随着业务规模的扩大和技术需求的多样化,中心化架构的局限性逐渐显现,如扩展性和故障恢复能力较差。相比之下,微服务和分布式技术通过解耦系统组件,提高了系统的灵活性和可扩展性,更适合处理复杂多变的业务场景。本文将深入探讨中台架构中微服务与分布式技术的区别及其应用场景,帮助读者更好地理解和选择适合自身业务的技术方案。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 腾讯与阅文集团在技术领域展开合作,共同推进微服务框架Tars的发展。此次合作中,Tars新增了对PHP语言的支持,不仅强化了Tars-PHP作为客户端的功能,还显著提升了其在服务端的应用能力。这一改进旨在满足不同业务场景下的多样化需求,为开发者提供更加灵活和高效的技术解决方案。 ... [详细]
  • 阿里巴巴Java后端开发面试:TCP、Netty、HashMap、并发锁与红黑树深度解析 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • Juval Löwy主张,每个类都应被视为服务,这并非是为了让服务无处不在,而是因为微服务是经过深思熟虑后系统分解的自然结果。在他的设计和构建的系统中,这种理念有助于提高模块化、可维护性和扩展性。通过将每个类视为独立的服务,系统能够更好地应对复杂性,实现更灵活的部署和更高的性能。 ... [详细]
  • Spring Cloud 学习指南:初学者入门篇
    Spring Cloud 学习指南:初学者入门篇 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • Django框架进阶教程:掌握Ajax请求的基础知识与应用技巧
    本教程深入探讨了Django框架中Ajax请求的核心概念与实用技巧,帮助开发者掌握异步数据交互的方法,提升Web应用的响应速度和用户体验。通过实例解析,详细介绍了如何在Django项目中高效实现Ajax请求,涵盖从基础配置到复杂场景的应用。 ... [详细]
  • 为何Serverless将成为未来十年的主导技术领域?
    为何Serverless将成为未来十年的主导技术领域? ... [详细]
author-avatar
唯1色彩黄
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有