微服务框架 01SOA和传统服务与微服务的差别

news2024/11/29 12:41:11

SOA思想
1.SOA思想介绍
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
核心概念: 面向服务的架构.
特点:
1.分布式的思想根据业务进行拆分.
2.服务于服务之间通过接口进行联系.
3.接口采用独立的方式进行定义.
在这里插入图片描述
传统服务调用过程
在这里插入图片描述

传统调用方式有哪些弊端:
1.如果后台服务器宕机,则nginx会采用高可用机制,每隔一段时间,则都会去访问故障机.
2.nginx中可以配置down属性,来剔除故障机. 但是该属性需要人为的配置.
3.如果nginx服务器宕机,则直接影响全部的服务运行.

服务调用优化
1.让nginx只做核心业务 —反向代理. 至于业务的负载均衡能否有一种专门的机制代替nginx完成.减轻nginx的压力.
2.如果后台服务器宕机,能否提供一种智能(无需人为操作)的解决方案?

使用注册中心完成业务的负载均衡:

注册中心作用
利用注册中心,可以动态的管理服务器.内部有心跳检测机制.可以实现后台服务器的实时监控.
注册中心调用过程,如下图所示:
在这里插入图片描述
注册中心的调用过程:

  1. 当服务提供者启动时,会将自己的服务信息(服务名称/IP地址/端口号等)写入注册中心.
  2. 当注册中心接收提供者数据时,会动态的维护服务列表数据
    注册中心的调用过程:
    .
  3. 当消费者启动时,首先会链接注册中心.获取服务列表数据.
  4. 当注册中心接收到消费者的请求之后,先将消费者的信息进行记录. 将服务列表信息发给消费者.
  5. 当消费者接收注册中心发来的数据之后,将数据保存到消费者本地.至此消费者启动完成. 等待用户的
    调用.
  6. 当消费者接收调用时,则根据服务列表数据找到可以提供服务的提供者,之后利用负载均衡算法,挑选
    其中一个进行访问.
  7. 注册中都有心跳检测机制. 当服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/572442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

20行代码来爬取某某云的榜单音乐

今天来爬爬音乐,一丝丝的无聊 前期准备 软件环境 Python3.8pycharm 模块 requests、re、os 三个 其中requests是第三方模块需要手动安装一下 re、os都是内置模块,不需要安装 浏览器开发者工具 咱们需要学会如何使用开发者工具。 对此很多小伙伴都…

基于Spring Boot的仿豆瓣平台

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 后端为了提高性能和用户体验,该系统平台使用Spring Boot集合Spring,Spring MVC和MyBatis框架做基础,并且集成Spring Data框架,MySQL做数据持久化,Redis缓存提高速度&…

专业解读财务共享实现财务数智化转型的有效路径

近年来,随着数字经济的飞速发展,各大企业全面开启数智化转型之路,作为企业数智化转型的重要内容,财务数智化转型始于财务共享服务。然而,财务共享建设并不是一蹴而就的,如何通过财务共享实现财务数智化转型…

Linux安装与配置ansible

文章目录 Linux安装Ansible一、安装ansible二、配置管理节点和远程主机的连接使用ssh-keygen生成密钥复制SSH密钥到远程主机验证SSH配置 三、主机清单配置文件四、Ansible的配置文件 Linux安装Ansible 在Linux上安装Ansible可以通过以下步骤完成: 一、安装ansible…

npm更换成淘宝镜像源及cnpm使用

1.需求由来 由于node安装插件是从国外服务器下载,受网络影响大,速度慢且可能出现异常。所以如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队(阿里巴巴旗下业务阿里云)干了这事。来自官网:“这是一…

Python常见错误(Error)一览大全——初学者必看

路漫漫其修远兮,学习python任重而道远,对于初学者来说,最难受的就是报错,其次是错误翻译好了,可是又不会改了,那么今天,我已IKUN老师的身份,结合我们常见的错误,做一个常…

堆排序之——TopK问题

思维导图: 一,TopK算法的运用 TopK的算法在我们的日常生活中可谓是大有用处,比如你在点外卖时外卖榜单上的销量前几名的筛选,富豪排行榜的榜单人物的筛选,游戏排位……等等领域都会有TopK算法的涉及。TopK问题的用处可…

javaWeb ssh旅游景点网站系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh旅游景点网站系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0…

类型转换-Java 如何计算两个时间的差

一、背景: 今天一个小伙伴在开发中,常取不到数,像string转换int,int转换string 虽然好像只是倒过来了,但是实现的逻辑不一样,今天就是日期在计算过程中的转换做一个总结 二、步聚 1.JAVA中与日期时间相关的类 1.1j…

聚合函数(基础版)

QUESTION ONE: # Write your MySQL query statement below select id,movie,description,rating from cinema where description <> boring and mod(id,2) 1 order by rating desc很简单的两个条件&#xff0c;一个通过 <> 解决不等于的情况&#xff0c;而确定奇…

java基础知识一

1、Java语言概述 1、java的出现标志着真正的分布式系统的到来 2、Java与c的区别 2.1、全局变量 Java中没有全局变量&#xff0c;使用类中的公共的静态变量作为这个类的全局变量 2.2、指针 Java中没有任何在指针操作 2.3、条件转移指令 Java中没有goto语句&#xff0c;通…

【day 01】初始vue

Vue的相关背景&#xff1a; vue2 > vue3 >vue实战 vue Taylor otwell (程序员中的网红) 框架 库 &#xff08;功能 方法&#xff09;axios 框架 生态 引入第三方功能库 社区 Vue2 Vue3 需要准备的小工具 vscode : snipper Vetur 浏览器需要准备 Vue Devtools Vue 引入方式…

nvm版本控制工具安装及使用

一、nvm介绍 nvm全英文也叫node.js version management&#xff0c;是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具&#xff0c;为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 二、nvm下载安装及使用 2.1 nvm下载 安装包…

【C++】容器篇(三)—— stack的基本介绍及其模拟实现

前言&#xff1a; 在之前的学习中我们已经了解了 vector 和 list &#xff0c;今天我将带领学习的是关于STL库中的 stack的学习&#xff01;&#xff01;&#xff01; 目录 &#xff08;一&#xff09;基本介绍 1、基本概念 2、容器适配器 &#xff08;二&#xff09;基本使…

Flutter 笔记 | Flutter 功能性组件

拦截返回键&#xff08;WillPopScope&#xff09; 为了避免用户误触返回按钮而导致 App 退出&#xff0c;在很多 App 中都拦截了用户点击返回键的按钮&#xff0c;然后进行一些防误触判断&#xff0c;比如当用户在某一个时间段内点击两次时&#xff0c;才会认为用户是要退出&a…

docker 服务环境搭建(mysql、rabbitmq、redis、nginx、springboot)

一般来说一个项目&#xff0c;百分之80都会用到以上这些&#xff0c;尤其是产品初期的demo 这些我都写过博客&#xff0c;但是我每次要去安装&#xff0c;都要去我不同的博客里面翻找&#xff0c;很烦&#xff0c;把他们聚在一起&#xff0c;方便我以后cv&#xff0c;就是这篇博…

注意力Transformer

注意力 注意力分为两步&#xff1a; 计算注意力分布 α \alpha α 其实就是&#xff0c;打分函数进行打分&#xff0c;然后softmax进行归一化 根据 α \alpha α来计算输入信息的加权平均&#xff08;软注意力&#xff09; 其选择的信息是所有输入向量在注意力下的分布 打…

基于中序有序的二叉搜索树

文章目录 什么是二叉搜索树二叉搜索树的中序遍历二叉搜索树的查找查找的非递归写法查找的递归写法 二叉搜索树的插入非递归递归 二叉搜索树的删除非递归递归 二叉搜索树的使用场景k模型kv模型 什么是二叉搜索树 二叉搜索树是普通二叉树的升级&#xff0c;普通二叉树除了存储数…

3、js - 垃圾回收机制

1、基础概念 &#xff08;1&#xff09;js内存的生命周期 -1- 内存分配&#xff1a;当声明变量、函数、对象时&#xff0c;系统会自动分配内存给它们 -2- 内存使用&#xff1a;即读写内存&#xff0c;也就是使用变量、函数 -3- 内存回收&#xff1a;使用完毕&#xff0c;由垃圾…

时间跟踪工具:Timemator Mac汉化版

Timemator是一款Mac平台上的时间跟踪工具&#xff0c;它可以帮助用户记录和分析日常工作和任务所花费的时间。Timemator提供了多种时间跟踪功能&#xff0c;包括自动跟踪应用程序和文档、手动添加时间记录、设置定时器等&#xff0c;让用户可以轻松记录和管理时间。 活动时间表…