Java微服务学习Day1

文章目录

  • 认识微服务
  • 服务拆分及远程调用
    • 服务拆分
    • 服务远程调用
    • 提供者与消费者
  • Eureka注册中心
    • 介绍
    • 构建EurekaServer
    • 注册user-service
    • order-service完成服务拉取
  • Ribbon负载均衡
    • 介绍
    • 原理
    • 策略
    • 饥饿加载
  • Nacos注册中心
    • 介绍
    • 配置
    • 分级存储
    • 负载均衡
    • 环境隔离
    • nacos注册中心原理

认识微服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注册中心(Service Registry):
注册中心是微服务架构中的一个核心组件,用于管理和维护所有微服务实例的注册信息。

  • 微服务启动时会将自己的网络位置(例如 IP 地址、端口号)以及其他元数据(如服务名称、版本号等)注册到注册中心。
  • 当其他微服务需要调用某个服务时,它们会向注册中心查询该服务的实例信息,然后直接调用其中一个实例。
  • 注册中心通常实现了服务发现机制,使得微服务能够动态地发现和调用其他微服务,从而实现服务之间的通信。

配置中心(Configuration Center):

配置中心用于集中管理微服务应用的配置信息,包括各种环境下的配置项、属性值、特性开关等。

  • 微服务在启动时可以从配置中心动态获取配置信息,而不需要硬编码在代码中,这样可以实现配置的集中管理和动态更新。
  • 配置中心通常提供了版本管理、变更通知、安全性等功能,以便对配置进行有效管理和控制。
  • 配置中心可以帮助微服务应用实现动态的配置更新,从而减少了重新部署的需要,提高了系统的灵活性和可维护性。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

服务拆分及远程调用

服务拆分

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务远程调用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
java启动类

@MapperScan("cn.itcast.order.mapper")
@SpringBootApplication
public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);}/*** 创建RestTemplate并注入Spring容器*/@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}
}

Service实现类

@Service
public class OrderService {@Autowiredprivate OrderMapper orderMapper;@Autowiredprivate RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order = orderMapper.findById(orderId);//2.利用RestTemplate发起HTTP请求,查询用户//2.1url路径String url = "http://localhost:8081/user/" + order.getUserId();//2.2发送HTTP请求实现远程调用User user = restTemplate.getForObject(url, User.class);//3.封装User到Orderorder.setUser(user);// 4.返回return order;}
}

在这里插入图片描述

提供者与消费者

在这里插入图片描述
在这里插入图片描述

Eureka注册中心

介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

构建EurekaServer

在这里插入图片描述
在这里插入图片描述

注册user-service

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

order-service完成服务拉取

在这里插入图片描述
在这里插入图片描述

Ribbon负载均衡

介绍

在这里插入图片描述

原理

在这里插入图片描述

策略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二种方法根据yml的名称只针对某一个微服务。

饥饿加载

在这里插入图片描述

在这里插入图片描述

Nacos注册中心

介绍

在这里插入图片描述

配置

在这里插入图片描述
在这里插入图片描述
启动
在这里插入图片描述
在这里插入图片描述

分级存储

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

负载均衡

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

环境隔离

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

nacos注册中心原理

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

ChatGPT学习大纲

引言 在2023年2月份左右开始使用ChatGPT时,就被它强大的理解能力和应答效果所折服,这期间一直在断断续续的学习和使用,也没形成一个完整的学习过程,最近刚好有空,就寻思着好好再学习总结一下,故写出了ChatG…

Python : 使用python实现学生管理系统的功能,详细注释

一、学生管理系统 学生描述:姓名、年龄、成绩 学生管理系统功能:添加学生信息、删除学生信息、根据姓名修改学生信息、根据姓名查询学生信息、显示所有学生信息、退出系统 二、代码说明 1. 将每一个学生的信息放一个元组中,再把元组添加到列表…

java中使用Lambda表达式实现参数化方法

Lambda表达式实现参数化方法说明 Lambda表达式在Java中是一种简洁、函数式的方式来表示匿名函数。它们特别适用于那些需要一个函数作为参数的方法,即函数式接口。参数化方法(通常指的是泛型方法)是那些可以接受类型参数的方法,这…

2.3 Verilog 数据类型

Verilog 最常用的 2 种数据类型就是线网(wire)与寄存器(reg),其余类型可以理解为这两种数据类型的扩展或辅助。 线网(wire) wire 类型表示硬件单元之间的物理连线,由其连接的器件输…

单片机基础入门:简单介绍51单片机的工作原理

在电子技术领域,单片机是实现智能化控制不可或缺的关键元件。它们集成了许多功能于一身,成为了各种电子系统的心脏。为了更好地理解单片机如何工作,本文将重点介绍51单片机的基本组成和工作原理。 51单片机是一种广泛使用的微控制器&#xf…

Android 车载应用之快速入门

一、Android Automotive OS 概览 车载 Android 系统也被称为 Android Automotive OS,是对原始 Android 系统的一个功能扩充版本。与手机系统一样,Android Automotive OS 源代码完全开放,第三方供应商和汽车制造商可以官方源码的基础上自行开发和拓展,无论是编程语言还是各…

CI/CD到底是啥?持续集成/持续部署概念解释

前言 大家好,我是chowley,日常工作中,我每天都在接触CI/CD,今天就给出我心中的答案。 在现代软件开发中,持续集成(Continuous Integration,CI)和持续部署(Continuous D…

【UE 求职】学了虚幻引擎可以应聘哪些岗位?

目录 1 领域1.1 游戏开发领域1.2 影视和动画制作1.3 建筑和工程可视化1.4 模拟和训练1.5 其他领域 2 如何做好一份简历1. 明确简历目标2. 突出UE5相关技能3. 展示相关项目经验4. 教育背景5. 专业经验6. 软技能7. 证书和奖项8. 定制化和校对 🙋‍♂️ 作者&#xff1…

Day41- 动态规划part09

一、打家劫舍 题目一:198. 打家劫舍 198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯…

使用PHPStudy搭建本地web网站并实现任意浏览器公网访问

文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…

springcloud分布式架构网上商城源码和论文

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项…

Unity Meta Quest MR 开发(四):使用 Scene API 和 Depth API 实现深度识别和环境遮挡

文章目录 📕教程说明📕Scene API 实现遮挡📕Scene API 实现遮挡的缺点📕Depth API 实现遮挡⭐导入 Depth API⭐修改环境配置⭐添加 EnvironmentDepthOcclusion 预制体⭐给物体替换遮挡 Shader⭐取消现实手部的遮挡效果 此教程相关…

从Unity到Three.js(模型文件加载)

模型加载功能探索,用blender导出了个glb格式的cube进行的测试。 初接触js语法,回调注册的地方直接使用匿名函数总感觉脑子跟不上,反应不过来,就把加载后的回调简单封装了下, 官方文档是直接使用的匿名函数。 另外看官方…

带你了解软件系统架构的演变详解

在这个数字时代,我们身边无处不在的软件系统扮演着无比重要的角色。你曾想过背后那复杂的系统是如何演变而来的吗?本文将深入浅出,以小白的视角,描绘软件系统架构的绚丽蜕变历程,让我们一同踏上这场感性而技术的冒险之…

Peter算法小课堂—背包问题

我们已经学过好久好久的动态规划了,动态规划_Peter Pan was right的博客-CSDN博客 那么,我用一张图片来概括一下背包问题。 大家有可能比较疑惑,优化决策怎么优化呢?答案是,滚动数组,一个神秘而简单的东西…

刘谦龙年春晚魔术模拟

守岁共此时 代码 直接贴代码了,异常处理有点问题,正常流程能跑通 package com.yuhan.snginx.util.chunwan;import java.util.*;/*** author yuhan* since 2024/02/10*/ public class CWMS {static String[] num {"A", "2", &quo…

更换商品图片日期JSON格式报错 - 序列化与反序列化日期格式设置

报错信息 msg: “服务端异常,请联系管理员JSON parse error: Cannot deserialize value of type java.util.Date from String “2023-11-13 13:13:35”: not a valid representation (error: Failed to parse Date value ‘2023-11-13 13:13:35’: Cannot parse da…

点云标注工具

目录 3d手势识别 c 3d关键点,Bounding Box Labels Rectangle Labels KITTI 3D Ground Truth Annotator c标注工具 3d手势识别 GitHub - 99xtaewoo/Automated-Hand-3D-pose-annotation-Tool: Automated Hand 3D pose annotation Tool c 3d关键点,Bou…

bcdedit /store 填什么,Windows11的BCD文件在哪里?

Windows11为EFI引导,bcd文件在 EFI分区的 \EFI\Microsoft\Boot\BCD 可以选择挂载EFI分区,或者使用如下方式,该路径可充当盘符使用。 例 bcdedit /store Z:\EFI\Microsoft\Boot\BCD /enum /v

【LeetCode每日一题】二维前缀和基本概念与案例

二维前缀和 根据某个块块 的 左上角坐标,和右下角坐标 求出 块块的累加和。 304. 二维区域和检索 - 矩阵不可变 /*** param {number[][]} matrix*/ var NumMatrix function(matrix) {let row matrix.length;let col matrix[0].length;// 初始化一个二维数组&am…