- 博客(184)
- 收藏
- 关注

原创 zookeeper的开源客户端curator
一.curator简介curator是Netflix公司开源的一个zookeeper客户端,后捐献给apache,curator框架在zookeeper原生API接口上进行了包装,解决了很多zookeeper客户端非常底层的细节开发。提供zookeeper各种应用场景(比如:分布式锁服务、集群领导选举、共享计数器、缓存机制、分布式队列等)的抽象封装,实现了Fluent风格的API接口,是最好用、最流行的zookeeper的客户端。二.原生zookeeperAPI的不足连接对象异步创建,需要开发人员自
2021-02-07 15:54:35
378

原创 spring整合Mybatis
一.解析图二.范例1.业务层【service】(1)代码块接口类package cn.service;import cn.domain.Account;import java.util.List;public interface AccountService { //查询所有账户信息 public List<Account> findAll();...
2020-03-27 21:49:39
134

原创 Mybatis入门【小白级】
一.mybatis的概述1.三层架构(1)表现层servlet展示数据。(2)业务层service处理业务。(3)持久层dao与数据库交互。2.图解3.Mybatis的概述]对Dao层的curd操作进行优化。Mybatis是优秀的持久层框架,内部封装了JDBC,使开发者只关注sql语句本身,从繁琐的加载驱动、创建statment连接对象的工作释放出来。通过xml或者注解方式完...
2020-03-01 16:39:46
3126
原创 元器件的顺口溜
电感电容很想像,电磁转换储能量。通直隔交和移相,频率高低显感抗。电流惯性很是猖,一变电流自感狂。来时大来挡得忙,去时小来续得长。参数误差电流强,微亨毫亨是时常。实际故障多烧毁,内部短路缓冲凉。
2023-12-06 16:06:59
533
原创 硬件入门的概念
其特点是,当光线照射于它的PN结时,可以成对地产生自由电子和空穴,使半导体少数载流子的浓度提高,在一定的反向偏置电压作用下,使反向电流增加。在电子技术中常用的数码管,发光二极管的原理与光电二极管相反。稳压管与一般二极管不一样,它的反向击穿是可逆的,只要不超过稳压管电流的允许值,PN结就不会过热损坏,当外加反向电压去除后,稳压管恢复原性能,所以稳压管具有良好的重复击穿特性。电接触型二极管的PN结接触面积小,不能通过较大的正向电流和承受较高的反向电压,但它的高频性能好,适宜在高频检波电路和开关电路中使用。
2023-09-06 10:24:25
138
1
原创 Replicated LevelDB集群的高可用
一.集群故障迁移和验证1.思路ActiveMQ的客户端只能访问Master的Broker,其他处于Slave的Broker不能访问,所以客户端连接的Broker应该使用failover协议(失败转移)。当一个ActiveMQ节点挂掉或者一个Zookeeper节点挂掉,ActiveMQ服务依然正常运转,如果仅剩一个ActiveMQ节点,由于不能选举Master,所以ActiveMQ不能正常运行。如果Zookeeper仅剩一个节点活动,不管ActiveMQ各节点存活,ActiveMQ也不能正常提供服务。
2021-02-20 21:47:46
523
原创 zookeeper事件监听机制
一.watcher概念zookeeper提供给了数据的发布/订阅功能,多个订阅者可同时监听某一特定主题对象,当该主题对象的自身状态发送变化时(例如节点内容改变、节点下的子节点列表改变等),会实时、主动通知所有订阅者。zookeeper采用了watcher机制实现数据的发布/订阅功能,该机制在被订阅对象发送变化时会异步通知客户端,因此客户端不必再watcher注册后轮询阻塞,从而减轻了客户端压力。watcher机制实际上与观察者模式类似,也可看作是一种观察者模式在分布式场景下的实现方式。二.Watch
2021-02-07 15:57:38
352
原创 zookeeper的单机安装
一.下载zookeeper1.连接地址https://zookeeper.apache.org/releases.html2.演示二.安装zookeeper1.在centos中使用root用户创建zookeeper用户用户名为zookeeper,密码为zookeeper。useradd zookeeperpasswd zookeeper2.zookeeper底层依赖于jdk,zookeeper用户登录后,解压jdk//解压jdktar -zxvf jdk-8u131-linux-
2021-02-07 15:57:07
192
原创 zookeeper的shell命令
0.zookeeper的客户端指令1.退出指令quit2.获取节点# 获取节点内容get 节点路径# 获取节点内容并返回当前节点的状态信息get -s 节点路径一.新增节点1.指令模板# 其中-s是有序节点,-e是临时节点,只能二选一create [-s] [-e] path data# 获取节点的信息get 节点名称2.创建持久化节点并写入数据(1)语法create /hadoop "123456"(2)范例3.创建持久化有序节点,此时创建的节点名为指定节点名
2021-02-07 15:56:37
242
原创 zookeeper的javaAPI
一.概述znode是zookeeper集合的核心组件,zookeeper API提供了一小组方法使用zookeeper集合来操纵znode的所有细节。客户端应该遵循以下步骤,与zookeeper服务器进行清晰和干净的交互。连接到zookeeper服务器。zookeeper服务器为客户端分配会话ID。定期向服务器发送心跳。否则,zookeeper服务器将过期会话ID,客户端需要重新连接。只要会话ID处于活动状态,就可以获取/设置znode。所有任务完成后,断开与zookeeper服务器的连接。如
2021-02-07 15:56:06
266
原创 zookeeper的acl权限控制
一.概述zookeeper类似文件系统,client可以创建节点、更新节点、删除节点。而节点的权限控制是access control list(访问控制列表)。二.acl权限控制的内容1.权限模式(scheme)采用授权的策略。2.授权对象(id)授权的对象。3.权限(permission)授予的权限。三.zookeeper权限控制特性1.zookeeper的权限控制是基于每个znode节点的,需要对每个节点设置权限。2.每个znode节点支持设置多种权限控制方案和多个权限3.子
2021-02-07 15:55:35
538
原创 acl超级管理员
一.概述zookeeper的权限管理模式有一种叫做super,该模式提供一个超管可以方便的访问任何权限的节点。二.执行流程1.获取加密后的密码(1)语法# 语法echo -n 用户名:密码| openssl dgst -binary -sha1 | openssl base64# 范例echo -n super:root | openssl dgst -binary -sha1 | openssl base64(2)范例2.编译zookeeper安装路径下的bin文件夹下的zkSer
2021-02-07 15:55:05
298
原创 消息可靠性
一.消息可靠性的三个方面1.PERSISTENT:持久性(1)参数设置说明(1.1)非持久化:当服务器宕机,消息不存在。messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);(1.2)持久化:当服务器宕机,消息依然存在。messageProducer.setDeliveryMode(DeliveryMode.PERSISTENT); (1.3)默认策略【持久】持久化消息,这是队列的默认传送模式,次模式保证这些消息只被传送
2021-01-27 14:31:03
333
原创 spring整合activemq
一.avtiveMQ的控制台【activemq连接解决方案】1.设置activemq的浏览器访问地址在apache-activemq-5.16.0/conf文件夹下的jetty.xml文件编译下面代码块。(1)代码块<!-- 在apache-activemq-5.16.0/conf文件夹下的jetty.xml文件编译下面代码块 --><bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-m
2021-01-27 14:30:33
150
原创 springboot整合activemq的主题
一.avtiveMQ的控制台【activemq连接解决方案】1.设置activemq的浏览器访问地址在apache-activemq-5.16.0/conf文件夹下的jetty.xml文件编译下面代码块。(1)代码块<!-- 在apache-activemq-5.16.0/conf文件夹下的jetty.xml文件编译下面代码块 --><bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-m
2021-01-27 14:30:02
228
原创 activeMQ的相关指令
说明:使用activeMQ需要虚拟机安装jdk1.8并配置环境变量。一.启动activeMQ1.指令# apache-activemq-5.16.0文件夹下的bin文件夹内执行该指令./activemq start2.范例[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1KGzUu6q-1611728953148)(https://uploader.shimo.im/f/gMHKhKsgQRsr5Maw.png!thumbnail?fileGuid=jDthHjV
2021-01-27 14:29:32
1006
原创 ActiveMQ的入门
一.说明1.面向消息是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排位模型在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等功能。2.流程发送者把消息发送给消息服务器,消息服务器将消息存放在若干队列/主题中,在合适的时候,消息服务器会将消息转发给接受者。在这个过程中,发送和接受是异步的,也就是发送无需等待,而且发送者和接受者的生命周期也没有必然关系。尤其在发布pub/订阅sub模式下,也可以完成一对多
2021-01-27 14:29:02
249
原创 activemq的传输协议NIO
一.nio的配置(1)代码块<transportConnectors><transportConnector name="nio" uri="nio://0.0.0.0:61618?trace=true"/> </transportConnectors>(2)打开配置文件(3)编译配置文件内容二.项目演示1.消费者生产类(1)代码块package com.fengmo.activemq.queue;import org.apache.
2021-01-27 14:28:32
162
原创 activemq的传输协议
一.概述ActiveMQ支持的client-roker通讯协议有:TCP,NIO,UDP,SSL,Http(s),VM。其中配置Transport Connector的文件在activeMQ安装目录的conf/activemq.xml中的标签之内。二.修改配置文件流程1.备份文件(1)指令//删除文件的指令 rm -rf 当前文件夹下的文件//复制文件cp 被复制的文件名 复制后的文件名 (2)范例2.修改配置文件(0)说明URI描述信息的头部都是采用协议名称:例如
2021-01-27 14:28:02
154
原创 activemq的broker
一.概述相当于一个ActiveMQ服务器实例。Broker其实就是实现了用代码的形式启动ActiveMQ将MQ嵌入到Java代码中,以便随时用随时启动,在用的时候再去启动这样能节省了资源,也保证了可靠性。二.配置activemq的自定义配置版broker1.复制默认配置文件(1)语法【在activemq文件夹下的conf文件夹执行该语法】//语法cp 被复制的文件名称 复制后的文件名称(2)范例//范例cp activemq.xml activemq02.xml2.启动activ
2021-01-27 14:27:32
295
原创 消息可靠性
一.消息可靠性的三个方面1.PERSISTENT:持久性(1)参数设置说明(1.1)非持久化:当服务器宕机,消息不存在。messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);(1.2)持久化:当服务器宕机,消息依然存在。messageProducer.setDeliveryMode(DeliveryMode.PERSISTENT); (1.3)默认策略【持久】持久化消息,这是队列的默认传送模式,次模式保证这些消息只被传送
2021-01-16 10:06:54
530
1
原创 spring整合activemq
一.avtiveMQ的控制台【activemq连接解决方案】1.设置activemq的浏览器访问地址在apache-activemq-5.16.0/conf文件夹下的jetty.xml文件编译下面代码块。(1)代码块<!-- 在apache-activemq-5.16.0/conf文件夹下的jetty.xml文件编译下面代码块 --><bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-m
2021-01-16 10:06:32
188
原创 springboot整合activemq的主题
一.avtiveMQ的控制台【activemq连接解决方案】1.设置activemq的浏览器访问地址在apache-activemq-5.16.0/conf文件夹下的jetty.xml文件编译下面代码块。(1)代码块<!-- 在apache-activemq-5.16.0/conf文件夹下的jetty.xml文件编译下面代码块 --><bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-m
2021-01-16 10:05:37
248
原创 java编译activemq的主题
一.JMS编码总体架构二.队列和主题的区别1.队列和主题的概念(1)队列在点对点的消息传递域中,目的地被称为队列。(2)主题在发布订阅消息传递域中,目的地被称为主题。2.图解三.发布/订阅消息传递域的特点【一对多】(1)生产者将消息发布到topic中,每个消息可以有多个消费者,属于1:N的关系。(2)生产者和消费者之间有时间上的相关性。订阅某一个主题的消费者只能消费自它订阅之后发布的消息。(3)生产者生产时,topic不保存消息它是无状态的不落地,假如无人订阅就去生产,那就是一条废
2021-01-16 10:05:09
161
原创 java编译activeMQ的队列
一.JMS编码总体架构二.队列和主题的区别1.队列和主题的概念(1)队列在点对点的消息传递域中,目的地被称为队列。(2)主题在发布订阅消息传递域中,目的地被称为主题。2.图解三.消息生产者1.代码块(1)pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X
2021-01-16 10:04:35
115
原创 activemq的消息可持久化
一.说明消息可持久化是指数据库和activemq的服务器同步数据。当activemq服务器出现问题,但不是影响数据库的数据。二.消息的高可用1.事务。2.签收。3.持久。【指的是activemq服务器没有问题,消息传递的持久化】4.可持久化。【指的是activemq服务器出现问题,消息的持久化】前三条可查看消息可靠性的笔记。三.持久化的方式为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制。ActiveMQ的消息持久化机制有JDBC,AMQ,Ka
2021-01-16 10:04:10
268
原创 activemq的传输协议NIO
一.nio的配置(1)代码块<transportConnectors><transportConnector name="nio" uri="nio://0.0.0.0:61618?trace=true"/> </transportConnectors>(2)打开配置文件(3)编译配置文件内容二.项目演示1.消费者生产类(1)代码块package com.fengmo.activemq.queue;import org.apache.
2021-01-16 10:03:34
163
原创 activemq的传输协议
一.概述ActiveMQ支持的client-roker通讯协议有:TCP,NIO,UDP,SSL,Http(s),VM。其中配置Transport Connector的文件在activeMQ安装目录的conf/activemq.xml中的标签之内。二.修改配置文件流程1.备份文件(1)指令//删除文件的指令 rm -rf 当前文件夹下的文件//复制文件cp 被复制的文件名 复制后的文件名 (2)范例2.修改配置文件(0)说明URI描述信息的头部都是采用协议名称:例如
2021-01-16 10:03:04
232
原创 activemq的broker
一.概述相当于一个ActiveMQ服务器实例。Broker其实就是实现了用代码的形式启动ActiveMQ将MQ嵌入到Java代码中,以便随时用随时启动,在用的时候再去启动这样能节省了资源,也保证了可靠性。二.配置activemq的自定义配置版broker1.复制默认配置文件(1)语法【在activemq文件夹下的conf文件夹执行该语法】//语法cp 被复制的文件名称 复制后的文件名称(2)范例//范例cp activemq.xml activemq02.xml2.启动activ
2021-01-16 10:01:40
452
原创 迁移和备份
一.容器保存为镜像0.说明该命令将容器保存为镜像。1.指令docker commit 容器名称 创建后的镜像名称2.范例二. 镜像备份0.说明该命令将镜像保存为tar文件。1.指令docker save -o mynginx.tar mynginx_i2.范例三.镜像恢复与迁移1.步骤先删除mynginx_img镜像,然后指向此命令进行恢复2.指令docker load -i 备份的文件3.范例...
2020-12-26 16:18:54
6601
原创 tomcat、nginx、redis部署
一.拉取tomcat镜像1.指令docker pull tomcat:7-jre72.范例二.创建tomcat容器1.指令doccker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre72.范例3.说明-p表示地址映射。前为宿主机端口,后为容器端口4.注意事项需要将压缩包放到虚拟机的/usr/local/webapps下5.压缩
2020-12-26 16:18:24
208
原创 Mysql部署
一.拉取mysql镜像1.指令docker pull centos/mysql-57-centos72.范例二.创建容器1.指令docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root centos/mysql-57-centos72.范例3.说明–name是容器名称-p代表端口映射,格式为宿主机映射端口:容器运行端口-e代表添加环境变量 MYSQL_ROOT_PASSWORD
2020-12-26 16:17:55
80
原创 docker的容器命令
一.查看容器1.查看正在运行的容器(1)指令docker ps(2)范例2.查看所有容器(1)指令docker ps -a(2)范例3.查看最后一次运行的容器(1)指令docker ps -l(2)范例4.查看停止的容器(1)指令docker ps -f status=exited(2)范例二.创建容器1.指令docker run2.选项-i:表示运行容器-t:表示容器启动后会进入其命令行。加入这俩个参数后,容器创建就能登录进去。分配一个伪终端。
2020-12-26 16:17:22
223
原创 docker的镜像指令
一.查看镜像1.指令的语法docker images2.范例3.说明【目录说明】REPOSITORY:镜像名称TAG:镜像标签IMAGE ID:镜像IDCREATED:镜像的创建日期(注意不是获取镜像的日期)SIZE:镜像大小这些镜像都是存储在Docker宿主机的/var/lib/docker目录下二.搜索镜像1.指令的语法docker search 镜像名称2.范例3.说明NAME:仓库名称DESCRIPTION:镜像描述STARS:用户评价,反应一个镜像的受
2020-12-26 16:16:52
137
原创 docker的简介
一.什么是虚拟化在计算机中,虚拟化(英语:Vitualization)是一种资源管理技术,是将计算机的各种尸体资源,如服务器,网络,内存及储存等,予以抽象,转化后呈现出来,打破实体结构建的不可切割的障碍,使用户可以比原来的组态更好的方式来应用这些资源,这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制,一般所指的虚拟资源包括计算能力和资料存储。在实际得生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,同名话底层物理硬件,从而最大化的利用物理硬件,
2020-12-26 16:16:21
118
原创 docker的安装和启动
一.安装centos7和docker1.说明docker必须安装在ubantu或者centos7上。2.镜像资源包链接:https://pan.baidu.com/s/1B_wGbPIMySR7nQ8SnSaa8w提取码:1iqt3.安装教程4.设置中文语言5.指令(1)yum更新到最新sudo yum update(2)yum-util提供yum-config-manager功能,另外两个时devicemapper驱动依赖的sudo yum
2020-12-26 16:15:32
101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人