当前位置: 首页 > news >正文

基于Hadoop的汽车大数据分析系统设计与实现【爬虫、数据预处理、MapReduce、echarts、Flask】

文章目录
    • ==有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主==
      • 项目介绍
      • 爬虫
      • 数据概览
      • HIve表设计
      • Cars Database Tables
        • 1. cars_data
        • 2. annual_sales_volume
        • 3. brand_sales_volume
        • 4. city_sales_volume
        • 5. sales_volume_by_year_and_brand
        • 6. sales_distribution_by_env_standard
        • 7. average_price_by_brand
        • 8. average_price_by_city
        • 9. average_mileage_by_brand
        • 10. average_down_payment_by_city
        • 11. highest_price_model
        • 12. lowest_price_model
        • 13. most_popular_model_in_city
        • 14. most_popular_model_in_brand
      • Hadoop大数据分析
      • 系统集成展示
      • 大屏可视化系统
      • 每文一语

有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主

项目介绍

本项目旨在构建一个综合性的数据处理和可视化系统,通过整合多种技术高效处理大规模数据。首先,通过网络爬虫从各个来源收集海量数据。这些数据包括标题、品牌、车型、年份、里程、城市、环保标准、售价、首付以及新车含税价等关键字段。这些原始数据被批量收集,需要在有效分析和可视化之前进行处理。

数据收集完成后,接下来是数据预处理阶段。此阶段包括数据清洗、处理缺失值以及将数据格式化为便于上传到Hadoop的结构化格式。之所以选择Hadoop,是因为它能够管理和处理分布在多个节点上的大规模数据集。数据存储在Hadoop的HDFS(Hadoop分布式文件系统)中,可以高效地访问和处理。

为了自动化将数据加载到Hadoop的过程,项目使用了Flume。Flume是一种可靠的服务,能够高效地从多个来源收集、聚合和传输大量日志数据到集中式的数据存储。在本项目中,Flume被配置为自动将预处理后的数据加载到HDFS中,确保数据流入系统的过程顺畅且一致。

数据进入HDFS后,接下来使用Hive进行进一步分析。Hive是一种构建在Hadoop之上的数据仓库基础设施,它允许使用类似SQL的语言HiveQL查询和分析大规模数据集。在此阶段,执行各种分析查询以从数据中提取有意义的见解,例如识别汽车销售趋势、比较品牌表现以及分析不同城市和车型的价格模式。

在Hive中完成分析后,使用Sqoop将结果导出到MySQL数据库。Sqoop是一种设计用于在Hadoop和关系型数据库之间传输数据的工具,能够高效地将Hive查询结果导出到MySQL中。这一步对于将分析后的数据与系统后端集成至关重要,以便进一步处理和可视化。

数据的可视化由Pyecharts负责,这是一种用于创建交互式且视觉吸引力强的图表的Python库。这些可视化图表被设计用于大屏展示,提供了一种直观和交互式的方式来探索数据。图表可能包括柱状图、折线图、饼图以及其他形式的可视化表现方式,使人们更容易理解数据中的趋势和模式。

整个系统使用Python的轻量级Web框架Flask构建。Flask用于开发系统的前端和后端,将所有组件整合为一个连贯的应用程序。系统支持用户注册、修改个人信息、用户交互、主题修改以及点击展示数据等功能。这些特性确保了系统不仅功能齐全,还具有良好的用户体验,为用户提供了一个交互式的平台来探索数据。

总的来说,本项目结合了多种先进技术,创建了一个强大且可扩展的数据处理、分析和可视化系统。从网络爬虫到数据存储、分析,再到前端开发,每个组件都在提供一个满足用户需求的全面解决方案中扮演了至关重要的角色,让用户能够从大规模的汽车数据中获得有价值的见解。

爬虫

在这里插入图片描述

数据概览

在这里插入图片描述

HIve表设计
Cars Database Tables
1. cars_data

Column

Data Type

Description

num_id

INT

序号

title

STRING

标题

brand

STRING

品牌

model

STRING

车型

year

INT

年份

mileage

DOUBLE

里程,假设单位为万公里

city

STRING

城市

environmental_standard

STRING

环保标准

price

DOUBLE

售价,假设单位为万元

down_payment

DOUBLE

首付,假设单位为万元

price_including_tax

DOUBLE

新车含税价,假设单位为万元

2. annual_sales_volume

Column

Data Type

Description

year

INT

年份

sales_volume

INT

销售量

3. brand_sales_volume

Column

Data Type

Description

brand

STRING

品牌

sales_volume

INT

销售量

4. city_sales_volume

Column

Data Type

Description

city

STRING

城市

sales_volume

INT

销售量

5. sales_volume_by_year_and_brand

Column

Data Type

Description

year

INT

年份

brand

STRING

品牌

sales_volume

INT

销售量

6. sales_distribution_by_env_standard

Column

Data Type

Description

environmental_standard

STRING

环保标准

sales_volume

INT

销售量

7. average_price_by_brand

Column

Data Type

Description

brand

STRING

品牌

average_price

DOUBLE

平均售价

8. average_price_by_city

Column

Data Type

Description

city

STRING

城市

average_price

DOUBLE

平均售价

9. average_mileage_by_brand

Column

Data Type

Description

brand

STRING

品牌

average_mileage

DOUBLE

平均里程

10. average_down_payment_by_city

Column

Data Type

Description

city

STRING

城市

average_down_payment

DOUBLE

平均首付

11. highest_price_model

Column

Data Type

Description

model

STRING

车型

price

DOUBLE

价格

12. lowest_price_model

Column

Data Type

Description

model

STRING

车型

price

DOUBLE

价格

13. most_popular_model_in_city

Column

Data Type

Description

city

STRING

城市

model

STRING

车型

sales_volume

INT

销售量

14. most_popular_model_in_brand

Column

Data Type

Description

brand

STRING

品牌

model

STRING

车型

sales_volume

INT

销售量

Hadoop大数据分析

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

系统集成展示

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

大屏可视化系统

在这里插入图片描述

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

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

其他展示,详情请私信博主进行细致了解

每文一语

快速迭代是一种过程

相关文章:

基于Hadoop的汽车大数据分析系统设计与实现【爬虫、数据预处理、MapReduce、echarts、Flask】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍爬虫数据概览HIve表设计Cars Database Tables 1. cars_data2. annual_sales_volume3. brand_sales_volume4. city_sales_volume5. sales_volume_by_year_and_brand6. sales_distri…...

安宝特科技 | Vuzix Z100智能眼镜+AugmentOS:重新定义AI可穿戴设备的未来——从操作系统到硬件生态,如何掀起无感智能革命?

一、AugmentOS:AI可穿戴的“操作系统革命” 2025年2月3日,Vuzix与AI人机交互团队Mentra联合推出的AugmentOS,被业内视为智能眼镜领域的“iOS时刻”。这款全球首个专为智能眼镜设计的通用操作系统,通过三大突破重新定义了AI可穿戴…...

蓝桥杯之日期题

文章目录 1.蓝桥杯必备知识点2. 题型13.需求2 1.蓝桥杯必备知识点 蓝桥杯是一个面向全国高校计算机相关专业学生的学科竞赛,涵盖多个赛道,常见的有软件类(如 C/C 程序设计、Java 软件开发、Python 程序设计)和电子类(…...

sklearn中的决策树-分类树:实例-分类树在合成数据集上的表现

分类树实例:分类树在合成数据集上的表现 代码分解 在不同结构的据集上测试一下决策树的效果(二分型,月亮形,环形) 导入 import numpy as np from matplotlib import pyplot as plt from matplotlib.colors import Li…...

es-head(es库-谷歌浏览器插件)

1.下载es-head插件压缩包,并解压缩 2.谷歌浏览器添加插件 3.使用...

AI客服-接入deepseek大模型到微信(本地部署deepseek集成微信自动收发消息)

1.本地部署 1.1 ollama Ollama软件通过其高度优化的推理引擎和先进的内存管理机制,显著提升了大型语言模型在本地设备上的运行效率。其核心采用了量化技术(Quantization)以降低模型的计算复杂度和存储需求,同时结合张量并行计算&…...

kotlin 知识点 七 泛型的高级特性

对泛型进行实化 泛型实化这个功能对于绝大多数Java 程序员来讲是非常陌生的,因为Java 中完全没有这个概 念。而如果我们想要深刻地理解泛型实化,就要先解释一下Java 的泛型擦除机制才行。 在JDK 1.5之前,Java 是没有泛型功能的,…...

正则表达式–断言

原文地址:正则表达式–断言 – 无敌牛 欢迎参观我的个人博客:正则表达式特殊字符 – 无敌牛 断言assertions 1、(?...):正向预查(positive lookahead),表示某个字符串后面应该跟着什么。但这个字符串本身…...

OceanBase数据库实战:Windows Docker部署与DBeaver无缝对接

一、前言 OceanBase 是一款高性能、高可扩展的分布式数据库,适用于大规模数据处理和企业级应用。 随着大数据和云计算的普及,OceanBase 在企业数字化转型中扮演着重要角色。学习 OceanBase 可以帮助开发者掌握先进的分布式数据库技术,提升数…...

C++:开胃菜练习项目---定长内存池的实现以及测试

项目介绍 简介 作为学习tcmalloc高并发内存池项目前的一个铺垫。 作为程序员(C/C)我们知道申请内存使用的是malloc,malloc其实就是一个通用的大众货,什么场景下都可以用,但是什么场景下都可以用就意味着什么场景下都不会有很高的性能&#xf…...

【LLM】本地部署LLM大语言模型+可视化交互聊天,附常见本地部署硬件要求(以Ollama+OpenWebUI部署DeepSeekR1为例)

【LLM】本地部署LLM大语言模型可视化交互聊天,附常见本地部署硬件要求(以OllamaOpenWebUI部署DeepSeekR1为例) 文章目录 1、本地部署LLM(以Ollama为例)2、本地LLM交互界面(以OpenWebUI为例)3、本…...

JVM相关面试题

1. 类加载与双亲委派机制 聊一下你对类加载器的理解。 类加载器是JVM用来加载类文件到内存的组件。它负责将字节码文件解析为java.lang.Class实例,并存储到运行时数据区的方法区中。类加载器分为Bootstrap ClassLoader、Extension ClassLoader和Application ClassLo…...

WordPress Course Booking System SQL注入漏洞复现 (CVE-2025-22785)(附脚本)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...

二:前端发送POST请求,后端获取数据

接着一:可以通过端口访问公网IP之后 二需要实现:点击飞书多维表格中的按钮,向服务器发送HTTP请求,并执行脚本程序 向服务器发送HTTP请求: 发送请求需要明确一下几个点 请求方法: 由于是向服务器端发送值…...

Go语言中的信号量:原理与实践指南

Go语言中的信号量:原理与实践指南 引言 在并发编程中,控制对共享资源的访问是一个经典问题。Go语言提供了丰富的并发原语(如sync.Mutex),但当我们需要灵活限制并发数量时,信号量(Semaphore&am…...

cpp中的继承

一、继承概念 在cpp中,封装、继承、多态是面向对象的三大特性。这里的继承就是允许已经存在的类(也就是基类)的基础上创建新类(派生类或者子类),从而实现代码的复用。 如上图所示,Person是基类&…...

3DGS(三维高斯散射)与SLAM技术结合的应用

3DGS(三维高斯散射)与SLAM(即时定位与地图构建)技术的结合,为动态环境感知、高效场景建模与实时渲染提供了新的可能性。以下从技术融合原理、应用场景、优势挑战及典型案例展开分析: 一、核心融合原理 1. …...

DeepSeek赋能大模型内容安全,网易易盾AIGC内容风控解决方案三大升级

在近两年由AI引发的生产力革命的背后,一场关乎数字世界秩序的攻防战正在上演:AI生成的深度伪造视频导致企业品牌声誉损失日均超千万,批量生成的侵权内容使版权纠纷量与日俱增,黑灰产利用AI技术持续发起欺诈攻击。 与此同时&#…...

mybatis 细节(${ ..}和#{..},resultType 和 resultMap的区别,别名的使用,Mapper 代理模式)

${..}和#{..} 占位符 #{..} #{}实现的是向prepareStatement中的预处理语句中设置参数值&#xff0c;sql语句中#{}表示一个占位符即?。 <!-- 根据id查询用户信息 --> <select id"findUserById" parameterType"int" resultType"user"&g…...

电子科技大学考研复习经验分享

电子科技大学考研复习经验分享 本人情况&#xff1a;本科就读于电科软院&#xff0c;24年2月开始了解考研&#xff0c;24年3月开始数学&#xff0c;9月决定考本院&#xff08;开始全天候图书馆学习&#xff09;并开始专业课学习&#xff0c;11月底开始政治学习&#xff0c;最后…...

【python】提取word\pdf格式内容到txt文件

一、使用pdfminer提取 import os import re from pdfminer.high_level import extract_text import docx2txt import jiebadef read_pdf(file_path):"""读取 PDF 文件内容:param file_path: PDF 文件路径:return: 文件内容文本"""try:text ext…...

Selenium 与 Coze 集成

涵盖两者的基本概念、集成步骤、代码示例以及相关注意事项。 基本概念 Selenium:是一个用于自动化浏览器操作的工具集,支持多种浏览器(如 Chrome、Firefox 等),能够模拟用户在浏览器中的各种操作,如点击、输入文本、选择下拉框等,常用于 Web 应用的自动化测试。Coze:它…...

SQL注入(order by,limit),seacms的报错注入以及系统库的绕过

1&#xff1a;如果information_schema被过滤了&#xff0c;该怎么绕过 1.1&#xff1a;介绍一下information_schema这个库 information_schema 是一个非常重要的系统数据库&#xff0c;它在SQL标准中定义&#xff0c;并且被许多关系型数据库管理系统&#xff08;RDBMS&#x…...

数据保护API(DPAPI)深度剖析与安全实践

Windows DPAPI 安全机制解析 在当今数据泄露与网络攻击日益频繁的背景下&#xff0c;Windows 提供的 DPAPI&#xff08;Data Protection API&#xff09;成为开发者保护本地敏感数据的重要工具。本文将从 双层密钥体系、加密流程、跨上下文加密、已知攻击向量与防御措施、企业…...

Sqlserver安全篇之_隐藏实例功能和禁用SQL Server Browser服务

总结&#xff1a; 1、隐藏实例功能和禁用SQL Server Browser服务的功能一样&#xff0c;对应非默认实例(且这个默认实例是1433端口)的情况下&#xff0c;都是需要在连接字符串中提供端口号才能连接到实例 2、隐藏实例功能后&#xff0c;就算开启了SQL Server Browser服务&#…...

muduo网络库2

Muduo网络库&#xff1a;底层实质上为Linux的epoll pthread线程池&#xff0c;且依赖boost库。 muduo的网络设计核心为一个线程一个事件循环&#xff0c;有一个main Reactor负载accept连接&#xff0c;然后把连接分发到某个sub Reactor(采用轮询的方式来选择sub Reactor)&…...

【ISP】畸变校正 LDC

ISP&#xff08;Image Signal Processor&#xff0c;图像信号处理器&#xff09;中的 LDC&#xff08;Lens Distortion Correction&#xff0c;镜头畸变校正&#xff09;是一种用于校正镜头畸变的图像处理技术。镜头畸变是由于镜头的光学特性导致的图像失真现象&#xff0c;主要…...

deepseek 学习资料整理

deepseek 学习资料整理 deepseek_清华大学指导手册_pdf_1-5 无套路&#xff0c;无需关注&#xff0c;无需登录&#xff0c;无需app&#xff0c;直接下载&#xff1a; 下载地址 文件列表&#xff1a; 001_清华大学_DeepSeek从入门到精通.pdf 002_清华大学_DeepSeek如何赋能职…...

【deepseek】本地部署+webui访问

背景 最近deepseek很火&#xff0c;但是官网的老是被限流使用&#xff0c;还有就是自己也想着玩一玩&#xff0c;于是准备在自己电脑跑一个 直接附上结果地址mydeepseek 准备工作 windows和linux都可 我这里选择linux&#xff0c;ubuntu系统 安装ollama 看下图&#xff0…...

LeetCodeHot100_0x02

LeetCodeHot100_0x02 11. 滑动窗口最大值&#xff08;不熟&#xff09; 求解思路&#xff1a; 暴力法的时间复杂度是O(NK)&#xff0c;在K常数较大时复杂度就高了。所以我们要想办法将K优化掉&#xff0c;即本题的难点在于如何在O(1)的时间复杂度求出当前窗口中的最大值。这个…...

STM32MP157A-FSMP1A单片机移植Linux系统SPI总线驱动

SPI总线驱动整体上与I2C总线驱动类型&#xff0c;差别主要在设备树和数据传输上&#xff0c;由于SPI是由4根线实现主从机的通信&#xff0c;在设备树上配置时需要对SPI进行设置。 原理图可知&#xff0c;数码管使用的SPI4对应了单片机上的PE11-->SPI4-NSS,PE12-->SPI4-S…...

H7 based Phalanx G1 ETH Data Switch Hub UART Interface 介绍

外接接口配置 H7 based Phalanx G1 ETH Data Switch hub UART interface 1.对外接接口进行详细介绍 以下是针对 H7 based Phalanx G1 设备的外接接口配置的详细解析&#xff0c;重点说明其 ETH Data Switch Hub 和 UART Interface 的技术特性与应用场景&#xff1a; 一、核…...

Vue04

自定义指令 directives是Vue的一个配置项 这里写自定义指令 自定义指令被调用的时机 指令与元素成功绑定时 指令所在的模板被重新解析时 函数式 <span v-big"n"></span> directives:{ big(element,binding){ element.innerText bingin…...

OpenCV(9):视频处理

1 介绍 视频是由一系列连续的图像帧组成的&#xff0c;每一帧都是一幅静态图像。视频处理的核心就是对这些图像帧进行处理。常见的视频处理任务包括视频读取、视频播放、视频保存、视频帧处理等。 视频分析: 通过视频处理技术&#xff0c;可以分析视频中的运动、目标、事件等。…...

短剧源码部署搭建小程序搭建IAA+IAP混合解锁模式

在当今数字化内容消费迅速增长的时代&#xff0c;短剧作为一种新兴的内容形式&#xff0c;凭借其短小精悍、节奏紧凑的特点&#xff0c;迅速吸引了大量用户。作为一名软件体验测试人员&#xff0c;我有幸体验了一款集创新与实用为一体的短剧小程序。这款小程序不仅在前端用户体…...

基于 CFD 预测的机器学习第 2 部分:在 Benchmark 应用程序上使用 Stochos 预测流场

了解机器学习和 Stochos 如何彻底改变制造业的 CFD 预测。 挑战 预测复杂流体动力学场景中的流场一直是工程师和科学家面临的重大挑战。传统的计算流体动力学 &#xff08;CFD&#xff09; 方法需要大量的计算资源和时间&#xff0c;因此难以处理实时预测和大规模模拟。 此外…...

NLP的预处理数据

处理文本数据的主要工具是Tokenizer。Tokenizer根据一组规则将文本拆分为tokens。然后将这些tokens转换为数字&#xff0c;然后转换为张量&#xff0c;成为模型的输入。模型所需的任何附加输入都由Tokenizer添加。 如果您计划使用预训练模型&#xff0c;重要的是使用与之关联的…...

数据结构——单链表

前言 1. 什么是链表 链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。与顺序表不同&#xff0c;链表的存储数据在内存是随机分布的。 2. 链表的分类 链表的种类多种多样&#xff0c;其中最常见的有八种…...

SurfaceFlinger代码笔记

drawLayers是做client合成&#xff0c;合成完以后的buffer会放在RenderSurface里 FrameBufferSurface里的buffer是通过setClientTarget给到HWC的&#xff08;HWC应该给client合成的buffer留了一个slot) Output.cpp这个文件非常关键&#xff0c;代表着具体一个Display的操作 d…...

Linux-Ansible模块进阶

文章目录 Copy和FetchFile模块 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Linux专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2025年02月22日18点49分 Copy和Fetch copy和fetch模块实践 copy模块需要注意的点&#xff1a;在收集日志之前…...

【机器学习】强化学习(2)——捋清深度强化学习的思路

在之前学习的过程中我了解到深度学习中很重要的一个概念是反向传播&#xff0c;最近看论文发现深度强化学习&#xff08;DRL&#xff09;有各种各样的方法&#xff0c;但是却很难区分他们的损失函数的计算以及反向传播的过程有何不同。在有监督的学习中&#xff0c;损失可以理解…...

touchgfx的工作机制

touchgfx的工作机制 一.MVP软件架构 MVP的全称为Model-View-Presenter Model: 就是数据部分,在整个touchgfx应用中,只有一个Model类实例对象,它为所有的Screen屏幕界面服务,可以理解成是一个全局变量区,同时它还负责和后端系统通信 View: 就是UI界面部分,对应于View类,在整…...

Fisher信息矩阵(Fisher Information Matrix, FIM)与自然梯度下降:机器学习中的优化利器

Fisher信息矩阵与自然梯度下降&#xff1a;机器学习中的优化利器 在机器学习尤其是深度学习中&#xff0c;优化模型参数是一个核心任务。我们通常依赖梯度下降&#xff08;Gradient Descent&#xff09;来调整参数&#xff0c;但普通的梯度下降有时会显得“笨拙”&#xff0c;…...

2025数学建模竞赛汇总,错过再等一年

01、2025第十届数维杯大学生数学建模挑战赛&#xff08;小国赛&#xff09; 竞赛介绍&#xff1a;数学建模行业内仅次于国赛和美赛的的第三赛事&#xff0c;被多所高校认定为国家级二类竞赛。赛题类型是国内唯一和高教社杯国赛题型风格完全一致的全国性数学建模竞赛&#xff0…...

设计模式教程:观察者模式(Observer Pattern)

一、模式概述 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一种一对多的依赖关系。一个对象&#xff08;称为主题&#xff09;状态发生变化时&#xff0c;所有依赖于它的对象&#xff08;称为观察者&#xff09;都会自动得到…...

代码随想录算法训练营第九天| 151.翻转字符串里的单词、右旋转字符串 、28. 实现 strStr()、459.重复的子字符串、字符串总结

151.翻转字符串里的单词 题目链接&#xff1a;151.翻转字符串里的单词 文档讲解&#xff1a;代码随想录翻转字符串里的单词 视频讲解&#xff1a;LeetCode&#xff1a;翻转字符串里的单词 状态&#xff1a;参考自己写出来的 思路&#xff1a; 反转&#xff1a;思路很清晰&#…...

bpmn.js + Node.js_构建高效的后端工作流处理系统

1. 引言 1.1 研究背景与意义 随着企业业务的复杂化,传统的流程管理工具已难以满足需求。BPMN(Business Process Model and Notation)作为一种标准化的流程建模语言,结合 bpmn.js 和 Node.js 可以实现高效的工作流管理系统,提升企业的运营效率。 1.3 BPMN 和 bpmn.js 简…...

DeepSeek系统架构的逐层分类拆解分析,从底层基础设施到用户端分发全链路

一、底层基础设施层 1. 硬件服务器集群 算力单元&#xff1a; GPU集群&#xff1a;基于NVIDIA H800/H100 GPU构建&#xff0c;单集群规模超10,000卡&#xff0c;采用NVLink全互联架构实现低延迟通信。国产化支持&#xff1a;适配海光DCU、寒武纪MLU等国产芯片&#xff0c;通过…...

嵌入式硬件基础知识

1.电阻(主要是贴片电阻) 01 基础课程-电阻 1.电阻封装 2.相关参数 1.功率额定值&#xff1a; 电阻能够长期承受的最大功率&#xff0c;功率过大可能导致电阻过热或损坏。封装尺寸越大&#xff0c;散热能力越强&#xff0c;功率额定值通常越高。 2.容差&#xff1a; 电阻…...

springboot+dubbo+zookeeper的注册服务和调用实践

目录 zookeeper为什么可作为注册中心zookeeper注册中心优缺点启动zookeeper编写springboot项目提供dubbo服务1. 服务接口2. Springboot引入dubbo实现服务接口2.1 工程目录和依赖2.2 启动程序和application.properties2.3 DubboService 实现服务接口2.4 测试api&#xff0c;用于…...