java 微服务框架介绍 SpringCloud Eureka注册中心 Nacos注册中心

news2024/11/29 2:29:58

为什么要学习微服务框架

 

 

 

 认识微服务

服务架构演变

单体架构

 分布式架构

 

 

 

微服务结构 

 

 

SrpingCloud

SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud。

 

 

服务拆分及远程调用

服务拆分注意事项 

 

 

 

 我们查询的时候需要到另一个数据库查询username,我们只能通过向另一个服务发送请求的方式,来获得对应的响应

 

 

提供者与消费者

服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)

服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)

一个服务可以同时是服务提供者和服务消费者

Eureka注册中心

服务调用出现的问题

 

 

 

  

搭建EurekaServer

1.创建项目,引入spring-cloud-starter-netflix-eureka-server的依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2.编写启动类,添加@EnableEurekaServer注解

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class,args);
    }
}

3.添加application.yml文件,编写下面的配置:

server:
  port: 10086 #服务端口
spring:
  application:
    name: eurekaserver
eureka:
  client:
    service-url:  #eureka地址信息
      defaultZone: http://127.0.0.1:10086/eureka

编译器记得改成8版本的,1.8不支持!

运行后,直接点击端口就能打开

 

 注册Eureka 服务

将user-service服务注册到EurekaServer步骤如下:

1.在user-service项目引入spring-cloud-starter-netflix-eureka-client的依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.在application.yml文件,编写下面的配置:

spring:
  application:
    name: userservice
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/

 再启动后,实例就有两个了:

在order-service完成服务拉取

 

 

 

Ribbon 负载均衡

负载均衡原理

 

 

 

 修改负载均衡规则

 饥饿加载

 

 Nacos注册中心

 默认是8848端口

我们下载好nacos 在nacos的bin目录打开终端

输入startup.cmd -m standalone

浏览器打开:

http://192.168.219.1:8848/nacos/index.html#/login

默认账号密码都是nacos,直接登陆就可以了

服务注册到Nacos

1.在cloud-demo父工程中添加spring-cloud-alilbaba的管理依赖:

<dependency>   
    <groupId>com.alibaba.cloud</groupId>    
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.6.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

2.注释掉order-service和user-service中原有的eureka依赖。

3.添加nacos的客户端依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

然后启动服务就可以了

Nacos服务分级存储模型

服务跨集群调用问题

 

服务集群属性

 直接配置集群名称了,运行另一个实例的时候修改集群,这样两个实例的集群都不一样

 

根据集群负载均衡

 NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则

优先选择本地集群,在本地集群的多个服务中,随机进行选择

根据权重负载均衡

实际部署中会出现这样的场景: 服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求 Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高 

 

可通过权重设置,进行无感知升级

 环境隔离 - namespace

Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离

 

 

 

 

 Nacos注册中心原理

临时实例和非临时实例 

 

 主动检测对服务器压力比较大,建议临时实例

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

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

相关文章

Java基础 —— 编程入门

一、比特(bit)和字节(byte)一个0或者一个1存储为一个比特(bit)&#xff0c;是计算机中最小的存储单位。计算机中是最基本的存储单元是字节(byte)。每个字节由8个比特构成。计算机就是一系列的电路开关。每个开关存在两种状态:关(off)和开(on)。如果电路是开的&#xff0c;它的值…

Ubuntu物理真机提高访问速度

这里不适合小白用户&#xff0c;只是做出几点提醒。 iguge学术助手 纯Ubuntu真机&#xff0c;是没办法访问外部网络的&#xff0c;先用百度搜索iguge下载一个&#xff0c;安装在Firefox浏览器插件上&#xff08;edge或者chrome也行&#xff09;。 免费的不好用&#xff0c;建…

算法之初始动态规划

目录 前言&#xff1a; 初始动态规划 0-1背包问题 0-1背包问题升级版 问题&#xff1a;如何巧妙解决“双十一”购物是的凑单问题&#xff1f; 总结&#xff1a; 前言&#xff1a; 淘宝的“双十一”购物节有各种促销活动&#xff0c;比如“满 200 元减 50 元”。假设你女朋友…

SpringBoot使用 axis 实现webservice客户端(亲测可行)

目录一、webservice在线验证服务端接口地址二、使用 axis 实现webservice客户端代码示例2.1、服务端地址使用qq在线接口验证接口2.2、webservice客户端示例代码一、webservice在线验证服务端接口地址 qq 在线验证接口&#xff1a;http://www.webxml.com.cn/webservices/qqOnli…

[飞腾]Trace32使用概述

最近将多年来收集到的教学视频、国内外图书、源码等整理整合拿出来&#xff0c;涉及arm、Linux、python、信号完整性、FPFA、DSP、算法、stm32、单片机、制图、电子模块、kali、出版社图书等。资料目前约1.5TB。资料详情请参阅&#xff1a; 1.5TB电子工程师资料详细介绍https:/…

软件定义的存储时代即将结束

数据存储、安全性、保护和整体管理对于大多数组织的生存至关重要。 从软件定义的存储时代的结束到本地存储的回归&#xff0c;Nyriad的首席营收官概述了他对最新技术趋势的看法&#xff0c;并提供了他对2023年将会发生的预测。 从以CPU为中心的软件定义存储过渡到卸载辅助架构…

Java 开发环境配置 || Java 基础语法

Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境&#xff0c;以及不同系统下的环境变量怎么配置。 window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK&#xff0c;下载地址&#xff1a;Java Downloads | Oracle 点击如下下载按钮&#xff…

阿里CCO:基于Hologres的亿级明细BI探索分析实践

作者&#xff1a;张乃刚&#xff08;花名&#xff1a;隽驰)&#xff0c;CCO数据开发 CCO是Chief Customer Officer的缩写&#xff0c;也是阿里巴巴集团客户体验事业部的简称。随着业务的多元化发展以及行业竞争的深入&#xff0c;用户体验问题越来越受到关注。CCO体验业务运营…

【前端】CSS进阶

四、选择器进阶 1.1后代选择器&#xff1a;空格 作用&#xff1a;根据HTML标签的嵌套关系&#xff0c;选择父元素后代中满足条件的元素 选择器语法&#xff1a;选择器1 选择器2{css} 结果&#xff1a; 在选择器1所找到标签的后代&#xff08;儿子、孙子、重孙子…&#xf…

Zipkin基础知识及Linux下搭建服务端

Zipkin组成 Zipkin的基础架构&#xff0c;他由4个核心组件构成&#xff1a;分别是Collector、Storage、RESTful API、WebUI Collector&#xff1a;收集器组件&#xff0c;它主要用于处理从外部系统发送过来的跟踪信息&#xff0c;将这些信息转换为 Zipkin 内部处理的 Span 格式…

最快速的获取元素的方法?快到你想象不到~

1、首先我们先准备一个div标签&#xff0c;id定义为box<div id"box"></div>2、通常情况下我们会使用原生js获取&#xff0c;如下所示&#xff1a;let box document.getElementById("box"); // 或者 let box document.querySelector("#b…

【Vue中使用Echarts】Echarts的基本配置

文章目录一、Echarts的基础配置二、柱状图表1.原始柱状图2.经过美化的柱状图3.横向柱状图一、Echarts的基础配置 需要了解的主要配置&#xff1a;series xAxis yAxis grid tooltip title legend color 属性作用series系列列表。每个系列通过 type 决定自己的图表类型 大白话&am…

ConvNeXt V2学习笔记

ConvNeXt V2学习笔记 ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders Abstract 在改进的架构和更好的表示学习框架的推动下&#xff0c;视觉识别领域在21世纪20年代初实现了快速现代化和性能提升。例如&#xff0c;以ConvNeXt[52]为代表的现代Co…

目标检测:RCNN、SppNet、Fast RCNN、Faster RCNN是如何过渡的?

目标检测&#xff1a;RCNN、SppNet、Fast RCNN、Faster RCNN、思想总结R-CNN候选框生成Training迁移学习分类与回归候选框R-CNN存在的问题SppNet面临的问题空间金字塔池化特征图映射SppNet存在的问题Fast R-CNNR-CNN与SppNet存在的问题核心思想模型流程ROI Pooling多任务损失的…

力扣刷题记录——326.3的幂、338. 比特位计数、342. 4的幂、350. 两个数组的交集 II

本专栏主要记录力扣的刷题记录&#xff0c;备战蓝桥杯&#xff0c;供复盘和优化算法使用&#xff0c;也希望给大家带来帮助&#xff0c;博主是算法小白&#xff0c;希望各位大佬不要见笑&#xff0c;今天要分享的是——《326.3的幂、338. 比特位计数、342. 4的幂、350. 两个数组…

如何搭建邮箱服务器

目录 部署 DNS 黑名单 Mailcow:dockerized 部署 Mailcow:dockerized 为 Mailcow:dockerized 配置 TLS Mailu.io 生成配置文件 部署 Mailu 安全 S/MIME OpenPGP 推荐阅读 搭建邮局服务器的想法之前一直都有&#xff0c;不过一直没有尝试&#xff0c;国庆的时候从阿里…

62. 目标检测 / 物体检测 以及边缘框代码实现

1. 图片分类和目标检测的区别 2. 边缘框 3. 目标检测数据集 目标检测数据集常用的格式&#xff1a;假设是用文本文件来存的话&#xff0c;每一行表示一个物体&#xff0c;分别有文件名、物体类别、边缘框。因为一个图片文件里面可能有多个物体&#xff0c;同一个文件名可能会出…

STC32G 三电感电磁循迹小车

文章目录前言准备工作增量式以及位置式PID电机闭环电磁采样舵机闭环合并效果前言 准备18届的负压电磁&#xff0c;趁现在考试延期赶紧把车子给调了。 现在速度就只能提到1.5m&#xff0c;再往上调就有点打滑了&#xff0c;只能等后面逐飞把负压电机的做出来了之后看能不能让车…

靶机Os-Hax测试笔记

靶机Os-Hax测试笔记 靶机描述 Difficulty : Intermediate Flag : boot-root Learing : exploit | web application Security | Privilege Escalation Contact … https://www.linkedin.com/in/rahulgehlaut/ This works better with VirtualBox rather than VMware 下载…

elasticsearch 7.9.3知识归纳整理(六)之kibana图形化操作es指南

kibana图形化操作es指南 一、创建用户&#xff0c;角色和权限指引 1.创建角色 1.1 在kibana首页点击Manage and Administer the Elastic Stack下的securitys settings 1.2 点击左侧Security 下的roles 1.3 点击右上角的create role 1.4 输入角色名字 完成后点击下面的create…