- 博客(409)
- 资源 (4)
- 收藏
- 关注
转载 RabbitMQ集群原理介绍
一、RabbitMQ默认集群原理RabbitMQ本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的erlang.cookie来实现)。因此,RabbitMQ天然支持集群。集群是保证可靠性的一种方式,同时可以通过水平扩展以达到增加消息吞吐量能力的目的。下图为集群的示例:上面图中采用三个节点组成了一个RabbitMQ的集群,Exchange A(交换器)的元数据信息在所有节点上是一致的,而Queue(存放消息的队列)的完整数据则只会存在于它所创建
2021-11-20 14:40:54 1431
转载 linux系统下安装mysql5.7
这篇myql安装教程是在Linux系统上部署的【51cto学院MySQL精品好课】:企业级MySQL系列教程-贯穿课程讲解MySQL性能优化+原理+实战课程地址:企业级MySQL系列教程-贯穿课程讲解MySQL性能优化+原理+实战【2021版】【共149课时】_MySQL课程-51CTO学堂有广度有深度系统学习MySQL;贯穿课程说MySQL性能优化;丰富的MySQL实战案例,让你学以致用;1.mysql下载①进入mysql官方网站:https://www.mysql.com/ 点击进入D
2021-11-19 17:32:23 168
原创 数据库备份从生产环境备份到客户环境
采用shell脚本方案,从生产环境取数据,备份文件到本地;将备份文件远程复制到客户服务器,再通过定时器还原文件到数据库。同步的3步操作1.从数据库上下载脚本到当前服务器【生产服务器】调用脚本:syncfrom.sh#! /bin/bashsource /etc/profiledb=testfor table in `cat /opt/tmp.txt`do echo $table mysqldump --defaults-extra-file=.my.
2021-11-19 17:29:35 631
原创 mysql 实现定时导出备份,定时导入还原
问题:1.提示:mysql: [Warning] Using a password on the command line interface can be insecure.方法一:修改my.cnf配置文件编辑/etc/my.cnf配置文件[root@localhost local]# vi /etc/my.cnf在配置文件中添加如下内容[client]port = 3306socket = /tmp/mysql.sockdefault-charact...
2021-11-16 14:14:16 2014
原创 新技术的思考
最近各种技术热点的层出不穷,真的是感觉跟不上,还没有来得及消化一个新名词,一个新热点就涌现出来了,再你还没来得及注意到的时候,可能解释都迭代了好几个版本了。我是一只在做开发,从学C语言开始,后来VB,C++ 再学java , python ,工作后解除shell 脚本,真正用的比较多的就是java ,再加一点shell。 语言都是想通的,学了第一个再学第二个是很快的,但是如果没有在这个语言里面深耕,配合着业务进行提升,也是不会有比较深入的掌握的。在工作后,自己也是一直在做平台业务相关的开发,这也是J
2021-11-15 18:04:48 334
原创 定时器 cron 表达式
简单的来说,cron表达式可以看作是一个有5~7个以空格隔开的的单个字符组成的一组字符串,这5~7个字符就表示了5~7个域,每个域从左到右依次为秒分时日月星期年。cron表达式在不同的语言中可用的域是不同,下面分别从spring和linux两个维度进行分析。Spring 定时器 cron 表达式Cron有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek Year 或Seconds Minute...
2021-11-12 18:05:37 2134
原创 MYSQL 数据库维护常识
mysql 目前在使用中,就是代码通过mybatis 链接了数据库,然后购买了阿里云的RDS,然后就啥也没管了。随着数据表和数据量的增多,越来越需要注意数据库的性能问题。之前数据库的配置是2核4G,所有的业务基本都是连的一个数据库,创建表的时候基本没有创建索引的习惯。就是一个能用就行的心态。目前我们是有547张表,整个数据库的大小大概是5G左右,之前数据库的内存还好,正常运行一般也就40%的使用量,cpu使用率大概是60%,但是当遇到定时器执行的时候,cpu立马就飙升到了100%。这其中cpu的
2021-11-11 17:04:12 1734
原创 linux 环境安装 walle
0.walle官网walle 瓦力 - 部署系统描述:walle 让用户代码发布终于可以不只能选择 jenkins!支持各种web代码发布,php、java、python、go等代码的发布、回滚可以通过web来一键完成。walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系统。1. 安装python3 和pip参考实现:linux 安装pip 和python3_weixin_30932215的博客-CSDN博客2.拉取
2021-11-04 15:12:24 409
原创 linux 服务器定时执行一个脚本
1.脚本reboot.sh#!/bin/bashsource /etc/profileecho "start zip nohup task ....";now=$(date "+%Y-%m-%d %H:%M:%S");echo "reboot now is " ${now};# killuds_pid=$(ps -ef | grep 'sc-uds.jar' | grep -v grep | awk '{print $2}')if [ -z $uds_pid ] ;then echo
2021-10-26 15:17:29 596
转载 maven打jar包 本地包pom引入的2种方式
项目中有些jar包是第三方的,maven官方仓库没有,需要使用mvn install命令打包到本地,然后将其写入到pom.xml的依赖中,maven仓库有的jar包则从maven官网找到对应版本的depdency写入pom文件里面,这样maven打包就可以包含第三方jar包了,否则maven只会打包pom文件里面的,不会包括第三方jar包,程序运行将报错。这里推荐2种打包第三方jar包的方式:第一种:打包第三方jar包到本地仓库,然后在pom.xml中引入例如:将alipay-sdk-abc
2021-09-18 11:20:41 5595
转载 【springcloud】通过Feign调用传递Header中的参数
如何通过feign调用传递header参数问题描述我们在SpringCloud中使用Feign请求另一个服务的Api接口时,有将Header中参数传递下去的需求,如果不做特殊处理,就会将Header中的参数丢失。解决方案:方案一通过@RequestHeader(name = "name")例如:Feign定义如下@FeignClient(name = "service-name")public interface XXXFeignClient { @RequestM
2021-08-24 18:55:16 2582
转载 微服务设计,拆分原则
目录一、AKF拆分原则1,Y轴(功能)关注应用中功能划分,基于不同的业务拆分2,X轴(水平扩展)关注水平扩展,也就是“加速器解决问题”3,Z轴(数据分区)关注服务与数据的优先级划分,如按地域划分二、前后端分离原则三、无状态服务原则四、RestFul 通讯风格五、现状思考一、AKF拆分原则业界对于可扩展系统架构设计有一个朴素的理念:通过加机器就可以解决容量和可用性问题。 这一理念在云计算概念疯狂流行的今天,得到了广泛的认可,对于一个规模迅速增长的系统而言,容量和性
2021-08-24 11:51:18 3180
原创 MySql 从数据库取出每个设备最新一条数据
mybatis 使用 pagehelper [com.github.pagehelper] 插件在getList 查询,如果没有指定 pageNum, pageSize 两个字段,在查询的时候,也是会最多只返回pageSize的数据。
2021-06-30 11:08:47 737
原创 【不是拷贝】rabbitmq安装延迟队列插件rabbitmq_delayed_message_exchange
查看当前的rabbitmq 安装了哪些插件:rabbitmq-plugins list[root@yq-test1 ~]# rabbitmq-plugins list Configured: E = explicitly enabled; e = implicitly enabled | Status: * = running on rabbit@yq-test1 |/[e*] amqp_client 3.6.15[e*] cowbo...
2021-06-21 21:59:05 3735 4
转载 Mysql导出指定数据或部分数据的方法
mysql虽然可以使用mysqldump来进行数据的导出,可是在很多场合的需求都不一样,比如我只要导出某个字段呢?只要导出某些我需要的数据呢?
2021-06-16 15:04:57 8882
转载 Mysql 备份的三种方式
备份的本质就是将数据集另存一个副本,但是原数据会不停的发生变化,所以利用备份只能回复到数据变化之前的数据。那变化之后的呢?所以制定一个好的备份策略很重要。一、备份的目的做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用二、备份需要考虑的问题可以容忍丢失多长时间的数据;恢复数据要在多长时间内完;恢复的时候是否需要持续提供服务;恢复的对象,是整个库,多个表,还是单个...
2021-06-16 14:39:20 10833
原创 unexpected EOF while looking for matching `“‘
关于shell脚本的执行,有两种:一种是Runtime.exec(c),就是将执行的脚本作为字符串执行传给c执行,这种方式的缺点是,如果c 中还包含命令,就会提示错误信息:“unexpected EOF while looking for matching `"'”,所以这种只适合于简单的命令。另一种是Runtime.exec(String[]),将命令以数组的方式传进来,shell会去区分是否有多级命令,{“/bin/bash”,"-c","params"},只需要三节数组就可以,如果有多个参...
2021-05-27 22:46:19 4197
原创 Java 多线程/线程池的使用
参考:Java线程池,阿里为什么不允许使用Executors?为什么阿里发布的Java开发手册强制不允许线程池的创建使用Executors?为什么阿里巴巴要禁用Executors创建线程池?
2021-05-27 11:25:24 177
原创 查看linux 服务器 tcp 连接数状态
1)在linux 服务器查看tcp 连接数的命令:netstat -tan|awk '$1~/tcp/{aa[$NF]++}END{for (h in aa)print h,aa[h]}'[root@izbp14wmlq6ajvhexzq3q0z app]# netstat -tan|awk '$1~/tcp/{aa[$NF]++}END{for (h in aa)print h,aa[h]}'LISTEN 18CLOSE_WAIT 4ESTABLISHED 173TIME_WAIT 2
2021-05-12 10:29:57 7929
原创 [rabbitmq] Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406
rabbitmq 报错日志:2021-05-08 15:30:00,023 ---[ visitor ]--- ERROR [AMQP Connection ip:5672] Caller+0 at org.springframework.amqp.rabbit.connection.CachingConnectionFactory$DefaultChannelCloseLogger.log(CachingConnectionFactory.java:1278)- Channel shutdo..
2021-05-08 18:03:48 21087 2
转载 设置Redis集群访问密码(不停机设置)
依次登陆6个节点cd /mysystest./redis/bin/redis-cli -c -h 192.168.43.86 -p 7301执行以下命令config set masterauth 123456config set requirepass 123456auth 123456config rewrite执行成功后,在配置文件最后,会有新增的2行*此时再登陆时(未授权)会报错误修改redis连接,加入授权,成功执行...
2021-05-07 20:58:22 473
原创 华为云服务器初始化
今天刚购买的一台华为云服务器准备用来1.搭建一个docker 环境,安装jdk , nginx, redis, rabbitmq 后续直接可以用这个镜像来部署到其他服务器2.研究下java 调用shell脚本的执行问题===================================linux服务器修改主机名hostname刚拿到服务器主机名很长一段,修改主机名hostnamectl set-hostname <newhostname>新开一个界面就是显示
2021-04-23 12:01:21 1339
原创 雪花算法的原理
目录SnowFlake 算法SnowFlake 算法的实现代码如下:SnowFlake 算法的优点:SnowFlake 算法的缺点:SnowFlake 算法是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上保持自增的。这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工
2021-04-09 16:44:02 280
原创 @Autowire和@Resource使用的区别在哪?
1 介绍今天使用Idea写代码的时候,看到之前的项目中显示有warning的提示,去看了下,是如下代码?@AutowireprivateJdbcTemplatejdbcTemplate;提示的警告信息Field injection is not recommended Inspection info:Spring Team recommends:"Always use constructor based dependency injection in your beans..
2021-04-09 16:29:14 237 1
转载 美团面试官:生成订单后一段时间不支付订单会自动关闭的功能该如何实现?越详细越好~
# 业务场景我们以订单功能为例说明下:生成订单后一段时间不支付订单会自动关闭。最简单的想法是设置定时任务轮询,但是每个订单的创建时间不一样,定时任务的规则无法设定,如果将定时任务执行的间隔设置的过短,太影响效率。还有一种想法,在用户进入订单界面的时候,判断时间执行相关操作。方式可能有很多,在这里介绍一种监听 Redis 键值对过期时间来实现订单自动关闭。# 实现思路在生成订单时,向 Redis 中增加一个 KV 键值对,K 为订单号,保证通过 K 能定位到数据库中的某个订单即可,V
2021-04-09 16:11:05 832
原创 rabbitmq 集群部署
rabbitmq 目前的主要功能是:1.用作消息队列,发送消息,接受消息2.用作websocket主动推送引擎,与web端建立长链接为什么要用到rabbitmq 集群?1.发送消息更快?2.消息的队列支持的更多?3.消息队列的消息被消费的更快?如果是单机,就是上图所示的架构,如果是集群部署,就是扩展了rabbitmq server 以及对应的exchange,queue在这个基础上扩充容量...
2021-03-25 10:33:10 165
原创 Bacnet 初识
BACnet是用于智能建筑的通信协议,是国际标准化组织(ISO)、美国国家标准协会(ANSI)及美国采暖、制冷与空调工程师学会(ASHRAE)定义的通信协议。BACnet针对智能建筑及控制系统的应用所设计的通信,可用在暖通空调系统(HVAC,包括暖气、通风、空气调节),也可以用在照明控制、门禁系统、火警侦测系统及其相关的设备。优点在于能降低维护系统所需成本并且安装比一般工业通信协议更为简易,而且提供有五种业界常用的标准协议,此可防止设备供应商及系统业者的垄断,也因此未来系统扩展性与兼容性大为增加。BAC
2021-03-16 15:19:25 486 1
原创 涂鸦技术栈
最近仔细研究了一下涂鸦平台,它的一个定位就是物联网中台,提供物联网的底层服务让其他所有设备接入到涂鸦物联网平台,也就是说,设备之间的交互都是先连到涂鸦物联网平台,通过这个平台中转下传递数据。涂鸦地产技术栈:涂鸦与阿里物联网平台有什么区别呢?涂鸦,提供平台,小的物联设备,比如插座,台灯;大的物联设备,比如冰箱 ,空调,洗衣机,电视机,统一接入这个平台,接入千千万万家小企业的物联设备产品,然后涂鸦拿着这个物联平台和一些大的上市公司,比如海尔,万科这样的,参与到他们的生态链..
2021-03-16 10:06:09 290 2
原创 物联网平台业务思考
目前自己所处的行业就是物联网,自己的狭隘理解物联网就是:用水,用电,空调,等楼宇自控的接入,门禁,停车,视频,监控,电梯,温湿度等用传感器接进来的,获取设备数据,并下发指定到设备,这个涵盖的行业会很广泛,涉及方方面面。那物联网的管理平台,或者说是这种云端产品,它与其他比如电商平台,物流平台,企业ERP,政府平台肯定也会有很大的一个区别。物联网的平台,更加注重的是与设备的交互,对设备的管理,数据统计,数据上行与下行。现在正好是有接触到一个能耗管理平台,那对这个产品的功能进行分析:1.登
2021-03-15 18:48:03 205 1
原创 Java 小tips
接口中的方法是不需要 public / private / protected 修饰了类中的方法是需要 public / private / protected 修饰的这是为什么?因为接口的方法是不会被直接调用的,要调用,一定要有实现类,通过实现类中方法前面的修饰权限来判断...
2021-03-10 11:30:38 101
原创 Redis cluster : Possible SECURITY ATTACK detected.
2799:M 09 Mar 06:32:27.233 #Possible SECURITY ATTACK detected.It looks like somebody is sending POST or Host: commands to Redis.This is likely due to an attacker attempting to use Cross Protocol Scripting to compromise your Redis instance.Connecti.
2021-03-09 10:11:16 4923
原创 mysql varchar 比较大小
mysql 数据库表中 定义 time 字段类型是 varchar(64)比如存储的数据是 2021-03-03这个时候,where语句中 time >= '2021-03-03' 这样是可以查询出来的,但如果是 time >= '2021-03-03 00:00:00' 这样查询不出来,但如果是小于,又可以查询出来,time<= '2021-03-03 23:59:59'这是为什么啊?都是转换成int 进行比较???...
2021-03-03 18:06:35 2506 1
原创 springboot配置多数据源
需求:springboot一个模块,有些业务数据要从A 数据库获取,有些业务数据要从B数据库获取。也就是对一些mapper.xml 是连接A数据库,对另一些mapper.xml是连接B数据库
2021-03-03 16:58:58 817 2
原创 十分惊恐,redis 集群重启
redis集群重启,差点酿出大故障先说下正常的重启,在复盘下出现问题的原因1.Redis cluster 重启通过cluster nodes 查看当前集群的运行情况172.16.135.190:7004> cluster nodes3cf4888935ddf1ed758872fa4996dff57533d88c 172.16.135.189:7002@17002 master - 0 1614741062129 2 connected 10923-1638334e4591b568
2021-03-03 14:32:11 988
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人