热门标签 | 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项目。

技术选型

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

 


推荐阅读
  • 酷家乐 Serverless FaaS 产品实践探索
    本文探讨了酷家乐在 Serverless FaaS 领域的实践与经验,重点介绍了 FaaS 平台的构建、业务收益及未来发展方向。 ... [详细]
  • 微服务架构详解及其入门指南
    本文详细介绍了微服务的基本概念、发展历程、与传统架构的区别及优势,并探讨了适合采用微服务架构的场景。此外,文章还深入分析了几个主流的微服务开发框架,特别是Spring Cloud的组成和特点。 ... [详细]
  • 本文详细介绍了如何利用go-zero框架从需求分析到最终部署至Kubernetes的全过程,特别聚焦于微服务架构中的网关设计与实现。项目采用了go-zero及其生态组件,涵盖了从API设计到RPC调用,再到生产环境下的监控与维护等多方面内容。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 成为一名高效的Java架构师不仅需要掌握高级Java编程技巧,还需深入理解JVM的工作原理及其优化方法。此外,对池技术(包括对象池、连接池和线程池)的应用、多线程处理、集合对象的内部机制、以及常用的数据结构和算法的精通也是必不可少的。同时,熟悉Linux操作系统、TCP/IP协议栈、HTTP协议等基础知识,对于构建高效稳定的系统同样重要。 ... [详细]
  • Spring Boot 初学者指南(第一部分)
    本文介绍了Spring Boot框架的基础知识,包括其设计理念、主要优势以及如何简化传统的J2EE开发流程。 ... [详细]
  • 本文介绍了基于Java的在线办公工作流系统的毕业设计方案,涵盖了MyBatis框架的应用、源代码分析、调试与部署流程、数据库设计以及相关论文撰写指导。 ... [详细]
  • 微服务自动化.dockercompose
    目录一、docker-compose二、docker-compose安装与配置1、修改docker.service2、下载文件3、将刚才下载的docker-compose文 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细记录了 MIT 6.824 课程中 MapReduce 实验的开发过程,包括环境搭建、实验步骤和具体实现方法。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
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社区 版权所有