- 博客(34)
- 收藏
- 关注
原创 windows10环境下的RabbitMQ安装步骤(图文)
记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘。第一步:下载并安装erlang原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。 下载地址:http://www.erlang.org/downloads根据本机位数选择erlang下载版本。下载完是这么个东西:双击,点next就可以。选择一个自己想保存的地方,然后next、finish就可以。安装完事儿后要记...
2020-11-18 15:46:05 123
原创 ZooKeeper的会话分桶策略
分桶策略:ZooKeeper的会话管理主要是由SessionTracker负责的,其采用了一种特殊的会话管理方式,称其为“分桶策略”。所谓分桶策略,是将超时时间相近的会议放到同一个桶中来进行管理,以减少管理的复杂度。在检查超时的会话时,只需要检查桶中剩下的会话即可(没有被转移走的会话全是超时的)。会话超时时间的计算方法如下:long expireTime = roundToInterval(System.currentTimeMillis() + timeout);priv...
2020-07-06 15:41:07 762
原创 云计算中的单服务,IAAS基础设施,PAAS软件即服务,SAAS平台即服务
你一定听说过云计算中的三个“高大上”的你一定听说过云计算中的三个“高大上”的概念:IaaS、PaaS和SaaS,这几个术语并不好理解。不过,如果你是个吃货,还喜欢披萨,这个问题就好解决了!好吧,其实你根本不是一个吃货,之所以自我标榜为吃货,其实是为了收获赞叹式的夸奖,“吃货还这么瘦,好羡慕啊!”或者,总得给伦家的微丰找个像样的理由。一个“吃货”是怎样吃到披萨的呢?1. 完全自己做不好意思,如果自己做这实在是个麻烦事,你得准备很多东西,比如餐桌、披萨面团。。。。。等等2. 买好速食披萨回家自己做着
2020-07-02 11:13:12 1776
原创 简述mysql性能优化策略
2:简述主从同步的延迟的原因一个服务器开放N个链接给客户端来连接的,这样有会有大并发的更新操作, 但是从服 务器的里面读取binlog 的线程仅有一个,当某个SQL在从服务器上执行的时间稍长 或者由于某个SQL要进行锁表就会导致,主服务器的SQL大量积压,未被同步到从服务器里。这就导致了主从不一致, 也就是主从延迟。3:简述死锁是如何产生的以及如何避免死锁死锁的发生与否,并不在于事务中有多少条SQL语句,死锁的关键在于:两个(或以上)的Session【加锁的顺序】不一致。避免死锁: 1...
2020-06-29 21:43:03 361
转载 三种分布式锁实现
在分布式系统的很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。目前针对分布式锁的实现目前有多种方案:基于数据库实现分布式锁基于缓存(redis,memcached)实现分布式锁基于Zookeeper实现分布式锁.
2020-06-03 14:34:46 239
转载 缓存雪崩、缓存击穿、缓存穿透
缓存的设计包含很多技巧,设计不当将会导致严重的后果。本文将介绍缓存使用中常见的三大问题,并给出相应的解决方案。缓存穿透 缓存雪崩 缓存击穿1. 缓存穿透在大多数互联网应用中,缓存的使用方式如下图所示:当业务系统发起某一个查询请求时,首先判断缓存中是否有该数据; 如果缓存中存在,则直接返回数据; 如果缓存中不存在,则再查询数据库,然后返回数据。了解了上述过程后,下面说说缓存穿透。1.1 什么是缓存穿透?业务系统要查询的数据根本就存在!当业务系统发起...
2020-05-11 16:36:47 152
原创 mybites框架基础-什么是框架
什么是框架摘自百度:可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。为什么使用框架因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成...
2020-05-06 11:09:13 196
原创 java-反射
定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。用途在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或是只对系统应用开放,这时候就可以利用Java的反射机制通过反射来获取所需的私有成员或是方法。当然...
2020-05-06 11:05:16 198
原创 如何搭建maven父子工程
什么是maven父子工程?其实看字面意思就很好理解了,就相当于一个家庭一样。一个家庭只会有一个父亲,但可能有多个子女(忽略干爹,,,)。父亲会管着子女,子女也可以继承父亲的优良传统~父子工程也一样。以下为我对于父子工程的一些理解。父工程:父工程又称为父控制器,只是一个简单的工程,不能单独运行。作用是将子模块跟子工程聚合在一起。父控制器中的pom.xml配置,在子模块跟子工程中都可以被继承。...
2019-12-20 10:17:56 404
转载 eureka和zookeeper区别
遵循原则不同eureka遵循AP原则,zookeeper遵循CP原则,C:强一致性,A:可用性,P:分区容错性著名的CAP理论中提出,一个分布式系统不可能同时满足C(一致性)A(可用性)P(分区容错性),由于分区容错性p是分布式系统中必须保证,因此只能在甲和ç之间权衡zookeeper保证CP在zookeeper中存在一种情况下,当主节点因为网络故障与其他节点失去联系时,剩余节点会...
2019-12-20 09:53:11 151
转载 Ribbon与Nginx区别
服务器端负载均衡NginxNginx是客户端所有请求统一交给Nginx,由Nginx进行实现负载均衡请求转发,属于服务器端负载均衡。既请求由nginx服务器端进行转发。Nginx介绍请点击这里客户端负载均衡RibbonRibbon是本地负载均衡(客户端),在调用接口的时候,会在Eureka注册中心上获取注册信息服务列表,缓存到本地,然后在本地实现负载均衡策略。Eurek...
2019-12-20 09:46:48 147
原创 SpringBoot+Redis作为二级缓存整合的基本Demo
一、Redis简介1、概述 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。2、优点(1)数...
2019-12-04 17:01:02 393
转载 Redis和MongoDB的区别以及应用场景
项目中用的是MongoDB,但是为什么用其实当时选型的时候也没有太多考虑,只是认为数据量比较大,所以采用MongoDB。最近又想起为什么用MongoDB,就查阅一下,汇总汇总:之前也用过redis,当时是用来存储一些热数据,量也不大,但是操作很频繁。现在项目中用的是MongoDB,目前是百万级的数据,将来会有千万级、亿级。就Redis和MongoDB来说,大家一般称之为Redis缓存、...
2019-11-29 16:53:27 348
转载 Activiti工作流节点的自由跳转
最近在搞openwebflow的工作流节点自由跳转功能,在网上看了一些资料,感觉不是很好,总结原因如下:直接手动调用SqlSession的操作,感觉会漏掉一些重要的初始化操作(如:启动新节点之后加载其用户授权策略,等);只有往前(往已执行过的节点)跳转的功能,没有往后节点(往还没有执行的节点)跳转的功能;新任务不是追加到已有执行路径上,而是覆盖老任务;那么就自己动手吧!操作流程
2017-11-16 16:00:26 1785
原创 Activiti工具类
package com.netqin.kingviker; import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.a...
2017-11-15 09:55:55 944
转载 Activiti 流程实例、任务、执行对象及相关的表
一个流程中,流程实例只有一个,执行对象可以有多个(如果存在分支和聚合)SELECT * FROM activiti.act_ru_execution a; #正在执行的执行对象表 SELECT * FROM activiti.act_hi_procinst a; #流程实例的历史表 SELECT * FROM activiti.act_ru_task a; #正在执
2017-11-10 13:14:18 2471 1
转载 Activiti之流程通过、驳回、会签、转办、中止、挂起等核心操作封装(Activiti5.9)
package com.famousPro.process.service.impl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.activiti.engine.FormS
2017-11-10 13:11:52 394
转载 activiti 数据表结构分析
各个表的作用1、结构设计1.1 逻辑结构设计 Activiti使用到的表都是ACT_开头的。ACT_RE_*用于存储流程部署以及流程定义的信息;如,流程定义,流程的资源(图片,规则等)。’RE’表示repository(存储), RepositoryService接口所操作的表。带此前缀的表包含的是静态信息,ACT_RU_
2017-11-02 18:11:58 251
转载 activiti 7个服务的理解
RepositoryServiceActiviti 中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据 (例如 BPMN2.0 XML文件,表单定义文件,流程定义图像文件等 ),这些文件都存储在 Activiti内建的 Repository中。Repository Service提供了对 repository的存取服务。
2017-11-02 18:05:41 1681
转载 activiti工作流6大service服务的简单介绍
我们的oa系统使用的是ssm三大框架,整合好activiti工作流之后,我们就可以开始开发activiti工作流项目了,activiti工作流框架其实是一个半成品项目,所以它自带了25张数据库表,而且它还有service层,可以在我们ssm框架整合好oa系统后,就可以直接@Autowired注入到我们的controller或者service层就可以了。ssm三大框架整合activiti工作流的
2017-11-02 17:51:49 8700 2
转载 Spring + Activiti + Drools整合的请假例子
业务规则是这样的(没有实际意义,只是做demo演示)如果请假总天数大于等于3天,则需要总经理审批,否则不需要总经理审批如果当次请假小于3天,则请假总天数等于当次请假天数+2否则,请假总天数等于当次请假次数+5其中,总的请假次数的计算逻辑交给drools处理新建maven项目,目录结构如下:一:加入maven依赖:[ht
2017-11-02 17:42:39 563
转载 Dubbo分布式服务框架入门(附工程)
目录(?)[+]一Dubbo概念介绍必须看二注册中心消费者提供者搭建实例源码下载要想了解Dubbo是什么,我们不防先了解它有什么用。 使用场景:比如我想开发一个网上商城项目,这个网上商城呢,比较复杂,分为pc端web管理后台,微信端销售公众号,那么我们分成四个项目,pc端网站,微信端网站,还有一个后台服务项目,接口服务项目。对数据库的操作的相关接口放到接口服务项
2017-11-02 17:30:21 114
转载 Dubbo架构设计详解
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。
2017-11-02 16:48:39 109
转载 spring cloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉
2017-11-02 16:37:19 262
转载 规则引擎的介绍与Drools的流程分析
规则引擎(RuleEngine)是一个有限状态机,通过入参实现状态转移,在Java中定义为JSR94规范。规则引擎目前的开源实现主要是JBoss家族的Drools,采用友好的Apache协议(意味着可以作为商业产品)。以及据说非常贵的ILOG引擎,还有一些国内引擎。1. 规则引擎的简介规则引擎一般用于处理请求报文总类繁多,业务控制复杂的场景,比如某个订单入口,某个网络的控制域,某个路由,比如
2017-11-02 16:33:52 2744
转载 JAVA规则引擎 -- Drools
Drools是一个基于java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效。1、Drools语法开始语法之前首先要了解一下drools的基本工作过程,通常而言我们使用一个接口来做事情,首先要穿进去参数,其次要获取到接口的实现执行完毕后的结果,而drools也是一样的,我们需要传
2017-11-02 16:21:12 203
转载 三分钟了解Activity工作流
一、 什么是工作流以请假为例,现在大多数公司的请假流程是这样的员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑采用工作流技术的公司的请假流程是这样的员工使用账户登录系统——点击请假——上级登录系统点击允许就这样,一个请假流程就结束了有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案
2017-10-31 10:19:29 559
转载 Webservice工作原理及实例
一、Web Service基本概念Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。XML:(Extensible Markup Language)扩展型
2017-10-31 10:17:55 154
转载 Webservice 底层调用的本质
一、底层调用的本质 说白了就是xml文档的生成、传递、解析的过程。 客户端生成xml文件后通过网络传送给服务器,服务器解析xml,获取参数执行方法得到返回值,之后生成xml文件,再传输给客户端,客户端解析xml后显示数据。 二、WSDL文档解析先看一下整体的分析图: 1.接口端 先看一个整体的文档框架
2017-10-31 10:13:54 1020
转载 十分钟理解Java中的动态代理
十分钟帮助大家理解Java中的动态代理,什么是动态代理?感兴趣的小伙伴们可以参考一下若代理类在程序运行前就已经存在,那么这种代理方式被成为 静态代理 ,这种情况下的代理类通常都是我们在Java代码中定义的。 通常情况下, 静态代理中的代理类和委托类会实现同一接口或是派生自相同的父类。一、概述1. 什么是代理我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委
2017-10-09 11:46:52 158
转载 Spring事物详解
写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解Spring事务配置的五种方式Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机
2017-09-26 16:17:47 384
转载 Spring Boot中的事务管理
什么是事务?我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前成功操作数据的并不可靠,需要在这种情况下进行回退。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进
2017-09-26 10:36:34 144
转载 Spring MVC和Struts2的比较
Spring MVC PK Struts2我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置。spring3 mvc可以认为已经100%零配置了(除了配置spring mvc-servlet.xml外)。Spring MVC和Struts2的区别:1. 机制:spring mvc的入口是servlet,而struts2是filter(这里要指
2017-09-25 18:01:22 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人