自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 mysql高级

MYSQL高级Linux安装(RPM安装):mysql服务端 注意:需要设置root用户密码。mysql客户端安装成功标志: mysqladmin --version #打印mysql版本信息为了保证数据库目录为与文件的所有者为mysql登录用户,如果你是以root身份运行mysql服务,需要执行初始化命令。mysqld --initialize --user=mysql另外 --initialize选项默认以安全模式来初始化,则会为root用户生成一个密码并将该密码标记为过期,登录后,

2020-08-15 19:05:51 22

原创 mysql基础

约束: 表级约束,列级约束( 列名 数据类型 约束类型)主键约束 PRIMARY KEY(primary key)唯一约束 UNIQUE (unique)外键约束 FOREIGN KEY REFERENCES(references),设置表级约束才生效非空约束 NOT NULL检查约束 CHECK(mysql不支持,但语法不报错)默认约束 default主键 保证唯一性 不允许为空 一个表中至多有1个 允许组合列(不推荐)唯

2020-08-15 19:05:11 30

原创 docker详解

前提知识:熟悉Linux命令和相关背景知识Maven和Git相关的知识docker作用(javaEE方向): 一处封装,到处运行。解决了运行环境和配置问题软件容器,方便做持续集成并有助于项目整体发布的容器虚拟化技术。一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维直接的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本迭代之后,不同版本环境的兼容,对运维人员都是考验。Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案

2020-08-02 22:17:05 32

原创 fastDFS使用

分布式文件系统:是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统管理的文件,存储在 很多机器上。这些机器通过网络连接,要被统一管理。无论是上传或者访问文件,都需要通过管理中心来访问。clientTracker cluster(跟踪服务器):负责调度storage与client通信,在访问上起负载均衡的作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽。Storage cluster(存储服务器):存储服务器

2020-07-24 01:27:42 41

原创 tomcat详解

1 tomcat源码项目部署,编译,运行。https://www.cnblogs.com/grasp/p/10061577.htmlHTTP服务器直接调用具体业务类,它们是紧耦合的。Tomcat请求流程HTTP服务器不直接调用业务类,而是把请求交给容器来处理,容器通过Servlet接口调用业务类。因此Servlet接口和Servlet容器的出现,达到了HTTP服务器与业务类解耦的目的。而Servlet接口和Servlet容器这一整套规范叫作Servlet规范。Tomcat按照Servlet规范的

2020-07-21 22:05:09 44

原创 Nginx详解

Nginx:是一个高性能的HTTP和反向代理服务器。占用内存少,并发能力强。1 反向代理正向代理:在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问(访问www.google.com)反向代理: (请求转发)反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。2

2020-07-19 21:17:02 48 1

原创 产品需求到系统落地流程图

系统落地方法论:1 分析需求:外在需求: 产品经理需要的产品内在需求: 产品经理忽略的问题,系统实现需要的内在需求。确认需求:2 分析资源人时间依赖资源: 项目开发需要的资料,文档,项目间依赖性。3 SCOPE 边界:功能性需求: 产品实现非功能性需求: 产品易用性,侵入性,可用性,性能等4 技术选型:已有轮子:->技术阅历发明轮子:5 画出系统架构流程图,对每一个流程使用技术进行说明6 数据库设计依据:产品实现对数据的读,写实现需求,来设计。...

2020-07-14 23:02:50 91

原创 RocketMQ高级特性

RocketMQ应用:springboot+zookeeper+dubbo+Rocketmq+mysql ,微服务架构下单-》支付业务springboot集成rocketmq依赖:org.apache.rocketmqrocketmq-spring-boot-starter2.0.3Dubbo分布式系统:保证多模块(分别请求不同服务器提供的服务),操作的事务原子性。(用RocketMQ监听机制实现)Rocketmq高级特性1持久化存储:数据库存储:mysql文件系统:Rock

2020-07-12 23:32:59 68

原创 RocketMQ:消息种类介绍

生成者、消费者生成者:1 创建消息生产者producer,并制定生成者组名2 指定Nameserver地址3 启动producer4 创建消息对象,指定主题Topic,Tag和消息体5 发送消息6 关闭生成者produce消费者:1 创建消息者Consumer,制定消费者组名2 指定Nameserver地址3 订阅主题Topic和Tag4 设置回调函数,处理消息5 启动消费者consumer消费消息:1 负载均衡模式: 一个消息只被消费一次。1:1 (默认消费模式)2 广播

2020-07-05 14:42:34 206

原创 Rocketmq,单机,集群部署

RocketMQ: 一款分布式、队列模型的消息中间件。1 能够保证严格的消息顺序2 提供丰富的消息拉取模式3 高效的订阅者水平扩展能力4 实时消息订阅机制5 亿级消息堆积能力强调集群无单点,可扩展,任意一点高可用,水平扩展。MQ待解决问题:1 如何保证MQ高可用?2 如何保证消息重复消费?消息丢失?消息传递顺序性问题?3 一致性问题:A系统处理完业务,通过MQ给B、C、D三个系统发送消息数据,如果B系统,C系统处理成功,D系统处理失败。如何保证消息数据处理的一致性?https://

2020-07-05 14:41:39 85

原创 Activemq(五)高级特性

ActiveMQ提高:producer产出率: 产出率=发送数据总量/时间ActiveMQ默认使用异步发送模式(有同步,异步两种消息发送模式)保证消息队列高可用性:1 事务2 持久化3 ack确认机制4 集群设置useAsyncSend=true,情况下可以最大化提高produer端的发送效率,但是需要容忍小部分消息丢失的可能。同步发送等send不阻塞了就表示一定发送成功了异步投递:异步发送需要接受回执并由客户端再判断一次是否发送成功。message = session.createT

2020-06-30 01:05:28 27

原创 Zookeeper + Replicated LevelDB集群配置:

Zookeeper + Replicated LevelDB集群配置:ActiveMQ的多节点集群从ActiveMQ5.9开始,ActiveMQ的集群实现方式取消了传统的Master-Slave方式,增加了基于ZooKeeper + LevelDB的Master-Slave实现方式,从5.9版本后也是官网的推荐。基于Zookeeper 和 LevelDB搭建ActiveMQ集群。集群仅提供主备方式的高可用集群功能,避免单点故障。原理说明:使用Zookeeper集群注册所有的ActiveMQ Br

2020-06-29 00:53:54 50 1

原创 zookeeper(三)curator,图形化工具

zookeeper开源客户端:curator (提供优于zookeeper原生API,更好的连接zookeeper服务器的API)curator是Netflix公司开源的一个zookeeper客户端,后捐献给apache,curator框架在zookeeper原生API接口上进行了包装,解决了很多zookeeper客户端非常底层的细节开发。提供zookeeper各种应用场景(比如:分布式锁服务,集群领导选举,共享计数器,缓存机制、分布式队列等)的抽象封装,实现了Fluent风格的API接口,是最好用,

2020-06-27 15:36:07 67

转载 linux:telnet命令安装

https://blog.csdn.net/doubleqinyan/article/details/80492421

2020-06-27 14:46:15 52

原创 zookeeper(二),watcher监听机制,集群搭建

zookeeper事件监听机制watcher特性:一次性: watcher是一次性的,一旦被触发就会移除,再次使用时需要重新注册客户端顺序回调: watcher回调是顺序串行化执行的,只有回调后客户端才能看到最新的数据状态。一个watcher回调逻辑不应该太多,以免影响别的watcher执行轻量级: watchEvent是最小的通信单元,结构上只包含通知状态、事件类型和节点路径,并不会告诉数据节点变化前后的具体内容。时效性: watcher只有在当前session彻底失效时才会无效,若在sessi

2020-06-26 22:18:55 52

原创 zookeeper(一),基本介绍,节点,单机部署

Zookeeper是一个分布式、高性能的,开源的分布式系统的协调服务。它是一个为分布式应用提供一致性服务的软件。zookeeper=文件系统+通知机制节点:zookeeper 中数据基本单元叫节点,节点之下可包含子节点,最后以树级方式程现。每个节点拥有唯一的路径path。客户端基于PATH上传节点数据,zookeeper 收到后会实时通知对该路径进行监听的客户端。zookeeper应用场景:维护配置信息分布式锁服务 (临时有序节点,生成分布式锁)创建节点语法: creat

2020-06-26 01:52:05 33

原创 ActiveMQ:spring/springboot整合,KahaDB,JDBC数据持久化配置

Spring整合ActiveMQxml 配置: 主题,队列 <!--开启包的自动扫描--><context:component-scan base-package="com.atguigu.activemq"/><!--配置生产者--><bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"> &l

2020-06-23 21:30:24 107 1

原创 ActiveMQ,四:特性介绍

javase Java编程语言javaEE一套使用java进行企业级应用开发的,大家一致遵循的13个核心规范工业标准。javaee平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。1 JDBC 数据库连接2 JNDI Java的命名和目录接口3 EJB (基本淘汰)4 RMI 远程方法调用 , Dubbox5 Java IDL 接口定义语言/公用对象请求代理程序体系结构6 JSP7 Servlet8 XML 可扩展标记语言9 JM

2020-06-20 00:54:39 26

原创 ActiveMQ三,Topic

pub/sub 发布/订阅topic先启动订阅再启动生成者,否则发送的消息,就是一条无用消息。生产者:public class JmsProduceTopic {public static final String ACTIVEMQ_URL=“tcp://192.168.0.103:61616”;public static final String TOPIC_NAME=“topic-atguigu”;public static void main(String[] args) throws

2020-06-17 00:24:25 21

原创 ActiveMQ二

MQ产品种类:KafkaRabbitMQRocketMQActiveMQ1 何种场景下使用了消息中间件?工程模块相互调用频繁,且模块过多时。RPC(Dubbox架构,类似同步调用。请求(client)-》服务注册中心(dubbox或者eruka)-》响应(service)。必须一条线逐个完成。)调用存在各种问题:耦合大,性能差(同步),负载重,结构逐渐复杂(某个模块负载过多)RPC:RPC调用是指不同机器间的进程通讯。程序不需要关心某个远程服务是在哪台机器上执行的,远程服务调用就和调用本地服

2020-06-16 23:47:11 42

原创 ActiveMq,一

ActiveMQ面向消息的中间件(Message Oriented Middleware,MOM):发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候,再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待,二者的生命周期未必相同。发送消息的时候接收者不一定运行,接收消息的时候,发送者也不一定运行。一对多通信:对于一个消息可以有多个接收者。JAVA消息服务(JMS) 定义了Java中访问消息中间件的接口。JMS只是接口,并没有给予实现,实现JMS接口的消息中

2020-06-13 12:03:22 32

原创 oracle 同义词,表空间,表分区

同义词:synonym私有同义词:一般普通用户自己建立的同义词,用于创建这需要create synonym权限grant create synonym to scott;create synonym abc for emp;公有同义词: 一般是由DBA创建,所有的用户都可以使用,创建者需要create public synonym权限实现:一个用户,可以访问其他用户的表。公有同义词实现。不同的数据库实例,表也可以使用同义词实现查询。grant create public synonym to

2020-06-11 01:22:13 105

原创 linux常用命令

//查看端口是否被占用,listen表示被占用netstat -anp |grep 端口号

2020-06-09 11:33:29 34

原创 代码设计原则

软件开发原则:1 开闭原则 :所谓开闭原则就是一个软件实体如类、模块和函数应该对扩展开放、对修改关闭。强调用抽象构建框架,实现实现拓展细节。2 依赖倒置原则 :高层模块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节:细节应该依赖抽象。针对接口编程,不要针对实现编程。总结: 针对接口编程,不要针对实现编程。高层模块与底层模块依赖于接口,不互相耦合。软件拓展,侧重与横向扩展(接口与实现类方式实现 或者 子类与父类实现方式),对修改关闭。3 单一职责原则(对类的约束)单一职责原则

2020-06-08 16:50:36 31

原创 数据库表设计,及物化视图

视图,分区,表结构设计数据库垂直拆分:一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说压力分担到不同的库上面。水平拆分:垂直拆分后遇到单机瓶颈,可以使用水平拆分。相对于垂直拆分的区别是:垂直拆分是把不同的表拆到不同的数据库中,而水平拆分是把同一个表拆到不同的数据库中。(每个表包含一部分数据)注意:索引字段加函数进行条件过滤时,索引会失效。解决方案:索引字段的值,有一定逻辑规则,根据索引字段的值,进行过滤。不使用

2020-06-08 00:02:12 46

原创 oracle 索引

事务:1原子性2一致性3隔离性 (每个用户有单独的session管理操作,不会互相产生影响。前提是操作没有被commit提交。)4持久性 (数据从内存保存到磁盘中)分布式事务主要解决问题:数据一致性。一致性:一个查询的结果必须与数据库在查询开始的状态一致oracle进行insert ,update,delete 操作时会产生事务select * from v$transaction; --查看事务语句(当提交后,事务消失)事务产生后,又会产生锁。(事务和锁会一同出现)锁:排他锁(写锁

2020-06-07 11:08:06 35

原创 oracle 事务,锁

事务:1原子性2一致性3隔离性 (每个用户有单独的session管理操作,不会互相产生影响。前提是操作没有被commit提交。)4持久性 (数据从内存保存到磁盘中)分布式事务主要解决问题:数据一致性。一致性:一个查询的结果必须与数据库在查询开始的状态一致oracle进行insert ,update,delete 操作时会产生事务select * from v$transaction; --查看事务语句(当提交后,事务消失)事务产生后,又会产生锁。(事务和锁会一同出现)锁:排他锁(写锁

2020-06-06 01:07:58 64

原创 oracle分析函数

sql 递归查询(从顶层往下查,或者从底层往上查)START WITH CONNECT BY。是oracle提供的递归查询(分层查询)函数,非常好用,我们在进行递归遍历树形结构的时候可以使用。语法:start with (从某个节点id开始)connect by prior (子节点id和父节点pid直接的关系需要)例如:select * from empstart with empno=7369 --顶层节点,或者底层节点connect by prior mgr=empno;

2020-06-05 23:47:26 91

原创 oracle 常用语句

select * from emp;select * from dept;insert into emp (EMPNO,ENAME) values (‘7777’,‘自建’);select * from emp e1 inner join dept p1 on e1.deptno=p1.deptno;select * from emp e1 left join dept p1 on e1.deptno=p1.deptno;select * from emp where to_char(hireda

2020-06-05 01:02:08 43

原创 oracle 高级特性

oracleto_date() #将number、char转换为dateto_char() #to_char()函数:将DATE或者NUMBER转换为字符串to_timestamp() #sql中的字符到数据库中的时间戳的操作to_number() #将char转换为number实现类似switch效果。DECODE()函数select deptno,DECODE(deptno,10,‘部门1’,20,‘部门2’,‘部门3’) from emp;CASE WHEN THEN 语法se

2020-06-05 01:00:17 58

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除