前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >tp6中无限极分类里面的获取多级分类数据

tp6中无限极分类里面的获取多级分类数据

作者头像
贵哥的编程之路
发布于 2022-06-05 03:26:48
发布于 2022-06-05 03:26:48
98800
代码可运行
举报
运行总次数:0
代码可运行

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人)

文章目录


前言

和大家共同完成获取多级分类数据

一、什么是多级分类数据?

就是很多很多的数据,按照无限极分类结构排序。每一个数组的所有数据都是顶级分类及其其下数据

二、使用步骤

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$allcate=$this->order('listorder asc')->field('id,parent_id,cate_name')->select()->toArray();

第一步:这张表qing_category。把这张表所有的数据转换成数组格式。取出字段id,parent_id,cate_name。按照从小到大排序。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
foreach ($allcate as $k => $v) {
        	if($v['parent_id']==0){

第二步:遍历数组并取出顶级分类的数据,放进data[]=v;这里。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
foreach ($allcate as $k1 => $v1) {
                	if($v1['parent_id']==$v['id']){

第三步: 取出某个顶级分类其下的二级分类的所有数据。方进v[children][]=v1;中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
foreach ($allcate as $k2 => $v2) {
                        	if($v2['parent_id']==$v1['id']){
                        		$v1['children'][]=$v2;
                        	}

第四步:取三级分类的所有数据放进v1[children][]=v2;中 最后返回 return

sql

代码如下(示例):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 -- phpMyAdmin SQL Dump
-- version 4.8.5
-- https://www.phpmyadmin.net/
--
-- 主机: localhost
-- 生成日期: 2022-06-04 19:25:49
-- 服务器版本: 5.7.26
-- PHP 版本: 7.3.4

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- 数据库: `kkk`
--

-- --------------------------------------------------------

--
-- 表的结构 `qing_category`
--

CREATE TABLE `qing_category` (
  `id` int(10) UNSIGNED NOT NULL COMMENT '栏目id',
  `cate_name` varchar(30) NOT NULL COMMENT '栏目名称',
  `seo_title` varchar(150) NOT NULL COMMENT '栏目标题',
  `seo_keywords` varchar(150) NOT NULL COMMENT '关键词',
  `seo_description` varchar(255) NOT NULL COMMENT '描述',
  `content` text COMMENT '内容',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1:显示 0:隐藏',
  `thumb` varchar(150) DEFAULT NULL COMMENT '图片',
  `link` varchar(150) NOT NULL COMMENT '栏目外链',
  `listorder` smallint(6) NOT NULL DEFAULT '50' COMMENT '排序',
  `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '上级id',
  `type_id` int(30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- 转存表中的数据 `qing_category`
--

INSERT INTO `qing_category` (`id`, `cate_name`, `seo_title`, `seo_keywords`, `seo_description`, `content`, `status`, `thumb`, `link`, `listorder`, `parent_id`, `type_id`) VALUES
(1, '女装 / 内衣', '', '', '', NULL, 1, '/public/upload/20200907/a9a2ebdfc574b7ba4f63111b725173a1.jpg', '', 1, 0, 2),
(2, '浪漫裙装', '', '', '', NULL, 0, NULL, '', 50, 1, 1),
(3, '美妆 / 护理', '', '', '', NULL, 1, '/public/upload/20200907/6720d04938b02fad0a8df2468a954b98.jpg', '', 3, 0, 0),
(4, '生活电器', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 4, 0, 0),
(5, '护肤品', '', '', '', NULL, 1, '/public/upload/20200907/3dfe3c4b167f688385657d72d1321bc5.jpg', '', 50, 3, 0),
(6, '家居服', '', '', '', NULL, 1, '/public/upload/20200907/bf429889460c7a17b6521c201ef06b18.jpg', '', 50, 1, 0),
(7, '彩妆', '', '', '', NULL, 1, '/public/upload/20200907/59feb5c76f25fc55545541c381f6fb7f.jpg', '', 50, 3, 0),
(8, '洗衣机', '', '', '', NULL, 1, NULL, '', 50, 4, NULL),
(9, '电冰箱', '', '', '', NULL, 1, NULL, '', 50, 4, NULL),
(10, '家居 / 建材', '', '', '', NULL, 1, NULL, '', 50, 0, NULL),
(11, '母婴 / 玩具', '', '', '', NULL, 1, NULL, '', 50, 0, NULL),
(12, '图书 / 音像', '', '', '', NULL, 1, NULL, '', 30, 0, NULL),
(13, '零食 / 茶酒', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 5, 0, 0),
(14, '手机 / 数码', '', '', '', NULL, 1, '/public/upload/20200907/5feb28d16702eaf24bf85ebccc954d2d.jpg', '', 2, 0, 0),
(15, '腕表 / 首饰', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 6, 0, 0),
(16, '小米', '', '', '', NULL, 1, NULL, '', 50, 18, 1),
(17, '荣耀', '', '', '', NULL, 1, NULL, '', 50, 18, NULL),
(18, '热门手机', '', '', '', NULL, 1, NULL, '', 50, 14, 1),
(19, '电脑整机', '', '', '', NULL, 1, NULL, '', 50, 14, NULL),
(20, '笔记本', '', '', '', NULL, 1, NULL, '', 50, 19, NULL),
(21, '平板电脑', '', '', '', NULL, 1, NULL, '', 50, 19, NULL),
(22, '台式机', '', '', '', NULL, 1, NULL, '', 50, 19, NULL),
(23, '一体机', '', '', '', NULL, 1, NULL, '', 50, 19, NULL),
(24, '游戏本', '', '', '', NULL, 1, NULL, '', 50, 19, NULL),
(25, 'iPad', '', '', '', NULL, 1, NULL, '', 50, 19, NULL),
(26, 'Iphone', '', '', '', NULL, 1, NULL, '', 50, 18, NULL),
(27, '魅族', '', '', '', NULL, 1, NULL, '', 50, 18, NULL),
(28, '华为', '', '', '', NULL, 1, NULL, '', 50, 18, NULL),
(29, 'OPPO', '', '', '', NULL, 1, NULL, '', 50, 18, NULL),
(30, '智能数码', '', '', '', NULL, 1, NULL, '', 50, 14, NULL),
(31, '智能设备', '', '', '', NULL, 1, NULL, '', 50, 30, NULL),
(32, '智能手表', '', '', '', NULL, 1, NULL, '', 50, 30, NULL),
(33, '智能手环', '', '', '', NULL, 1, NULL, '', 50, 30, NULL),
(34, 'VR眼镜', '', '', '', NULL, 1, NULL, '', 50, 30, NULL),
(35, '智能摄像', '', '', '', NULL, 1, NULL, '', 50, 30, NULL),
(36, '智能健康', '', '', '', NULL, 1, NULL, '', 50, 30, NULL),
(37, '智能机器人', '', '', '', NULL, 1, NULL, '', 50, 30, NULL),
(38, '硬件存储', '', '', '', NULL, 1, NULL, '', 50, 14, NULL),
(39, '显示器', '', '', '', NULL, 1, NULL, '', 50, 38, NULL),
(40, '机械键盘', '', '', '', NULL, 1, NULL, '', 50, 38, NULL),
(41, '固态硬盘', '', '', '', NULL, 1, NULL, '', 50, 38, NULL),
(42, 'CPU', '', '', '', NULL, 1, NULL, '', 50, 38, NULL),
(43, '显卡', '', '', '', NULL, 1, NULL, '', 50, 38, NULL),
(44, '主板', '', '', '', NULL, 1, NULL, '', 50, 38, NULL),
(45, '高速U盘', '', '', '', NULL, 1, NULL, '', 50, 38, NULL),
(46, '路由器', '', '', '', NULL, 1, NULL, '', 50, 38, NULL),
(47, '摄影摄像', '', '', '', NULL, 1, NULL, '', 50, 14, NULL),
(48, '相机', '', '', '', NULL, 1, NULL, '', 50, 47, NULL),
(49, '单反', '', '', '', NULL, 1, NULL, '', 50, 47, NULL),
(50, '单电微单', '', '', '', NULL, 1, NULL, '', 50, 47, NULL),
(51, '摄像机', '', '', '', NULL, 1, NULL, '', 50, 47, NULL),
(52, '自拍神器', '', '', '', NULL, 1, NULL, '', 50, 47, NULL),
(53, '拍立得', '', '', '', NULL, 1, NULL, '', 50, 47, NULL),
(54, '镜头', '', '', '', NULL, 1, NULL, '', 50, 47, NULL),
(55, '自拍杆', '', '', '', NULL, 1, NULL, '', 50, 47, NULL),
(56, '影音娱乐', '', '', '', NULL, 1, NULL, '', 50, 14, NULL),
(57, '耳机', '', '', '', NULL, 1, NULL, '', 50, 56, NULL),
(58, '天猫魔盒', '', '', '', NULL, 1, NULL, '', 50, 56, NULL),
(59, '数码影音', '', '', '', NULL, 1, NULL, '', 50, 56, NULL),
(60, '家庭影院', '', '', '', NULL, 1, NULL, '', 50, 56, NULL),
(61, '蓝牙耳机', '', '', '', NULL, 1, NULL, '', 50, 56, NULL),
(62, '网络播放器', '', '', '', NULL, 1, NULL, '', 50, 56, NULL),
(63, '精选上装', '', '', '', NULL, 1, '/public/upload/20200907/12e2badae06d0be8dd1f6186c4142ea6.jpg', '', 50, 1, 2),
(64, '女士下装', '', '', '', NULL, 1, '/public/upload/20200907/bc7a1f58d4d737ffc2842f9483f2d7b0.jpg', '', 50, 1, 0),
(65, '特色女装', '', '', '', NULL, 1, '/public/upload/20200907/5b999d2f7a73e7616fe6f86e8b9eab4b.jpg', '', 50, 1, 0),
(66, '文胸塑身', '', '', '', NULL, 1, '/public/upload/20200907/049adc94a689a1ec4bccba90c43e719a.jpg', '', 50, 1, 0),
(67, '毛呢外套', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(68, '羽绒服', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(69, '棉服', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(70, '丝绒卫衣', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(71, '毛针织衫', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(72, '皮毛一体', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(73, '皮草', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(74, '毛衣', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 63, 2),
(75, '衬衫', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(76, '卫衣', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 63, 2),
(77, '针织衫', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(78, 'T恤', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(79, '短外套', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(80, '小西装', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(81, '风衣', '', '', '', NULL, 1, NULL, '', 50, 63, NULL),
(82, '连衣裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(83, '半身裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(84, 'A字裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(85, '荷叶边裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(86, '大摆裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(87, '包臀裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(88, '百褶裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(89, '长袖', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(90, '连衣裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(91, '棉麻连衣裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(92, '牛仔裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(93, '蕾丝连衣裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(94, '真丝连衣裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(95, '印花连衣裙', '', '', '', NULL, 1, NULL, '', 50, 2, NULL),
(96, '春夏家居服', '', '', '', NULL, 1, NULL, '', 50, 6, NULL),
(97, '纯棉家居服', '', '', '', NULL, 1, NULL, '', 50, 6, NULL),
(98, '莫代尔家居服', '', '', '', NULL, 1, NULL, '', 50, 6, NULL),
(99, '真丝家居服', '', '', '', NULL, 1, NULL, '', 50, 6, NULL),
(100, '春夏睡裙', '', '', '', NULL, 1, NULL, '', 50, 6, NULL),
(101, '男士家居服', '', '', '', NULL, 1, NULL, '', 50, 6, NULL),
(102, '情侣家居服', '', '', '', NULL, 1, NULL, '', 50, 6, NULL),
(103, '性感睡裙', '', '', '', NULL, 1, NULL, '', 50, 6, NULL),
(104, '休闲裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(105, '阔腿裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(106, '牛仔裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(107, '打底裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(108, '开叉运动裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(109, '哈伦裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(110, '背带裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(111, '小脚裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(112, '西装裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(113, '短裤', '', '', '', NULL, 1, NULL, '', 50, 64, NULL),
(114, '时尚套装', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(115, '休闲套装', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(116, '日系女装', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(117, '精选妈妈装', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(118, '大码女装', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(119, '职业套装', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(120, '优雅旗袍', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(121, '精致礼服', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(122, '婚纱', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(123, '唐装', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(124, '小码女装', '', '', '', NULL, 1, NULL, '', 50, 65, NULL),
(125, '光面文胸', '', '', '', NULL, 1, NULL, '', 50, 66, NULL),
(126, '运动文胸', '', '', '', NULL, 1, NULL, '', 50, 66, NULL),
(127, '美背文胸', '', '', '', NULL, 1, NULL, '', 50, 66, NULL),
(128, '聚拢文胸', '', '', '', NULL, 1, NULL, '', 50, 66, NULL),
(129, '大杯文胸', '', '', '', NULL, 1, NULL, '', 50, 66, NULL),
(130, '轻薄塑身', '', '', '', NULL, 1, NULL, '', 50, 66, NULL),
(131, '家居服', '', '', '', '', 1, '/public/upload/20200907/6502a54382a96c2f370933c280a8456f.jpg', '', 50, 1, 1),
(132, '精选上衣', '', '', '', '', 1, '/public/upload/20200907/be5921de5ee20e4932305a8dabd8d7d8.jpg', '', 50, 1, 1),
(133, '家居服A', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 6, 2),
(134, '家居服B', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 6, 2),
(138, '进口零食', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 13, 1),
(139, '休闲零食', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 13, 1),
(140, '酒类', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 13, 1),
(141, '茶叶1', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 13, 1),
(142, '茶叶2', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 13, 1),
(143, '', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 13, 1),
(144, '大牌乐器', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 12, 1),
(145, '儿童读书', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 12, 1),
(146, '儿童读物1', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 12, 1),
(148, '儿童读书2', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 12, 1),
(149, '儿童读书3', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 12, 1),
(150, '玩具', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 11, 1),
(151, '童装', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 11, 1),
(155, '电视机', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 4, 3),
(153, '婴儿服', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 11, 1),
(154, '奶粉', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 11, 1),
(156, '液晶电视机', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 155, 3),
(157, '灯饰照明', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 4, 0),
(158, '灯泡', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 157, 0),
(159, '办公文教', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 14, 0),
(160, '婴儿玩具', '', '', '', NULL, 1, '/public/static/index/images/thumb.jpg', '', 50, 150, 0);

--
-- 转储表的索引
--

--
-- 表的索引 `qing_category`
--
ALTER TABLE `qing_category`
  ADD PRIMARY KEY (`id`);

--
-- 在导出的表使用AUTO_INCREMENT
--

--
-- 使用表AUTO_INCREMENT `qing_category`
--
ALTER TABLE `qing_category`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '栏目id', AUTO_INCREMENT=161;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use app\common\model\Category as CategoryModel;//引用category这张表并取名为CategoryModel
$category_model=new CategoryModel();
        $indexCate=$category_model->getNavCateData();
        halt($indexCate);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function getNavCateData(){
		$data=array();
		$allcate=$this->order('listorder asc')->field('id,parent_id,cate_name')->select()->toArray();
		
        foreach ($allcate as $k => $v) {
        	if($v['parent_id']==0){
        		
                foreach ($allcate as $k1 => $v1) {
                	if($v1['parent_id']==$v['id']){

                        foreach ($allcate as $k2 => $v2) {
                        	if($v2['parent_id']==$v1['id']){
                        		$v1['children'][]=$v2;
                        	}
                        }

                		$v['children'][]=$v1;
                	}
                }

        		$data[]=$v;
        	}
        }
        return $data;
	}

2.效果图

总结

谢谢大家的观看,谢谢!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
RabbitMQ学习笔记(五)——RabbitMQ集群搭建&入门
◆ 般的基础架构中,单机扩容(Scale-Up)很难实现 ◆ 需要扩容时尽量使用扩展数量实现(Scale-Out) ◆ RabbitMQ集群可以方便地通过Scale-Out扩展规模
不愿意做鱼的小鲸鱼
2022/09/26
9190
RabbitMQ学习笔记(五)——RabbitMQ集群搭建&入门
RabbitMQ消息中间件
消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。
Cyylog
2020/08/19
1K0
RabbitMQ学习笔记(五)——RabbitMQ集群搭建&入门
◆ 般的基础架构中,单机扩容(Scale-Up)很难实现 ◆ 需要扩容时尽量使用扩展数量实现(Scale-Out) ◆ RabbitMQ集群可以方便地通过Scale-Out扩展规模
全栈程序员站长
2022/10/29
1.3K0
RabbitMQ学习笔记(五)——RabbitMQ集群搭建&入门
Centos6.9下RabbitMQ集群部署记录
之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡。 Rabbit集群模式大概分为以下三种:单一模式、普通模式、镜像模式,其中: 1)单一模式:最简单的情况,非集群模式,没什么好说的。 2)普通模式:默认的集群模式。 -> 对于Queue来说,消息实体只存在于其中一个节点,A、B两个节点仅有相同的元数据,即队列结构。 -> 当消息进入A
洗尽了浮华
2018/01/23
2.2K0
Centos6.9下RabbitMQ集群部署记录
消息中间件—RabbitMQ(集群监控篇1)
摘要:任何没有监控的系统上线,一旦在生产环境发生故障,那么排查和修复问题的及时性将无法得到保证
用户2991389
2018/09/05
1.8K0
消息中间件—RabbitMQ(集群监控篇1)
Rabbitmq实践与原理
RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。
mikelLam
2022/10/31
7000
Rabbitmq实践与原理
RabbitMQ:第四章:RabbitMQ集群搭建
RabbitMQ:第二章:Spring整合RabbitMQ(简单模式,广播模式,路由模式,通配符模式,消息可靠性投递,防止消息丢失,TTL,死信队列,延迟队列,消息积压,消息幂等性)
Java廖志伟
2022/03/07
5280
RabbitMQ:第四章:RabbitMQ集群搭建
rabbitmq高可用集群搭建_mongodb高可用架构
​ 当单台 RabbitMQ 服务器的处理消息的能力达到瓶颈时,此时可以通过 RabbitMQ 集群来进行扩展,从而达到提升吞吐量的目的。RabbitMQ 集群是一个或多个节点的逻辑分组,集群中的每个节点都是对等的,每个节点共享所有的用户,虚拟主机,队列,交换器,绑定关系,运行时参数和其他分布式状态等信息。一个高可用,负载均衡的 RabbitMQ 集群架构应类似下图:
全栈程序员站长
2022/09/30
2.5K0
rabbitmq高可用集群搭建_mongodb高可用架构
RabbitMQ + Haproxy 实现高可用镜像集群
1.准备阶段 准备三台服务器 案例使用三台腾讯云服务器 43.138.xxx.xxx node1 82.157.xxx.xxx node2 39.105.xxx.xxx node3 结构图 2.安装阶段 修改节点名: 查看三台服务器的主机名称,并分别修改主机名为 node1/2/3 vim /etc/hostname 修改主机名称 修改HOST: 注意:使用外网服务器时需要注意IP地址的填写 在三台服务器分别执行当前命令 vim /etc/hosts 注意:如果是三台
Reset
2022/12/27
5080
RabbitMQ + Haproxy 实现高可用镜像集群
RabbitMQ介绍及安装部署
消息系统通过将消息的发送和接收分离来实现应用程序的异步和解偶。 或许你正在考虑进行数据投递,非阻塞操作或推送通知。或许你想要实现发布/订阅,异步处理,或者工作队列。所有这些都属于消息系统的模式。 RabbitMQ是一个消息代理,一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息再传输过程中的安全。 RabbitMQ是一个在AMQP协议标准上完整的、可复用的企业消息系统。它遵循Mozilla Public License开源协议,采用Erlang语言实现的工业级的消息队列。
菲宇
2019/07/02
1.2K0
RabbitMQ介绍及安装部署
使用 Docker -compose 部署多机 RabbitMQ 集群
本文介绍 RabbitMQ 集群的 Docker 化部署,最开始是想通过 DockerSwarm 方式来部署的,但是 RabbitMQ 节点加入集群时一直失败,在网上找了很多办法,始终没有解决这个问题,无奈只能放弃。所以最终采用配置 hosts 文件方式来保证节点之间的通信,下面来进行详细说明。
jwangkun
2021/12/23
2.3K0
RabbitMQ + Haproxy 实现高可用镜像集群
1.准备阶段准备三台服务器案例使用三台腾讯云服务器43.138.xxx.xxx node182.157.xxx.xxx node239.105.xxx.xxx node3 结构图图片2.安装阶段修改节点名:查看三台服务器的主机名称,并分别修改主机名为 node1/2/3vim /etc/hostname修改主机名称修改HOST:注意:使用外网服务器时需要注意IP地址的填写在三台服务器分别执行当前命令vim /etc/hosts注意:如果是三台外网服务器则不能按照该写法43.138.xxx.xxx node1
Reset
2022/12/19
7260
01 . RabbitMQ简介及部署
所有MQ产品从模型抽象上来说都是一样的过程: 消费者(consumer)订阅某个队列。生产者(producer)创建消息,然后发布到队列(queue)中
iginkgo18
2020/09/27
1K0
01 . RabbitMQ简介及部署
08 . Prometheus+Grafana监控haproxy+rabbitmq
https://www.cnblogs.com/you-men/p/12839535.html
iginkgo18
2020/09/27
1.1K0
08 . Prometheus+Grafana监控haproxy+rabbitmq
深入理解消息中间件技术之RabbitMQ服务
消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
民工哥
2020/09/16
6030
深入理解消息中间件技术之RabbitMQ服务
分布式专题|女朋友突然问我如何使用Docker搭建RabbitMQ集群并实现高可用?
到目前为止,集群模式已经搭建完毕,但是这里还是不够的,RabbitMQ搭建的默认集群是普通模式的集群
AI码师
2020/11/23
5360
分布式专题|女朋友突然问我如何使用Docker搭建RabbitMQ集群并实现高可用?
Docker部署RabbitMQ集群并实现Haproxy代理
RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang(高并发语言)语言来编写的,并且RabbitMQ是基于AMQP协议的。即Advanced Message Queuing Protocol(高级消息队列协议)
Power
2025/03/03
1180
搭建高可用/高可靠的RabbitMQ镜像队列集群架构
192.168.243.164、192.168.243.165及192.168.243.166这三台机器上需要事先安装好RabbitMQ,具体安装步骤参考如下文章:
端碗吹水
2020/12/01
1.6K0
搭建高可用/高可靠的RabbitMQ镜像队列集群架构
18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构
镜像队列文档:Classic Queue Mirroring — RabbitMQ
彼岸舞
2022/10/06
4020
18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构
RibbitMQ学习笔记之RabbitMQ 集群
最开始我们介绍了如何安装及运行 RabbitMQ 服务,不过这些是单机版的,无法满足目前真实应用的要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台 RabbitMQ 服务器可以满足每秒 1000 条消息的吞吐量,那么如果应用需要 RabbitMQ 服务满足每秒 10 万条消息的吞吐量呢?购买昂贵的服务器来增强单机 RabbitMQ 务的性能显得捉襟见肘,搭建一个 RabbitMQ 集群才是解决实际问题的关键.
默 语
2024/11/20
940
RibbitMQ学习笔记之RabbitMQ 集群
推荐阅读
相关推荐
RabbitMQ学习笔记(五)——RabbitMQ集群搭建&入门
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文