- 畅销套餐
- 精选套餐
- 人气套餐
- 尊享套餐
- 高薪套餐
- 课程介绍
- 课程大纲
适合人群:
Java工程师,Java初学者
你将会学到:
消息队列与工作流视频课程
课程简介:
RabbitMQ
1、MQ简介
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列
的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送
数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。
2、MQ消息中间件
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性
等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、
RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。
Kafka 是一种分布式的MQ。
3、AMQP协议 & JMS规范
AMQP即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层
协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间
件不同产品,不同开发语言等条件的限制。
优点:可靠、通用
JMS(Java Messaging Service)是Java平台上有关面向消息中间件(MOM)的技术规范,它便于消息系统中的Java
应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,翻译为Java消息服
务。
比如,ActiveMQ 是基于JMS规范的MQ产品 RabbitMQ是实现AMQP协议的MQ产品
4、RabbitMQ
RabbitMQ在全球范围内在小型初创公司和大型企业中进行了超过35,000次RabbitMQ生产部署,
源消息代理。RabbitMQ轻量级,易于在内部和云中部署。它支持多种消息传递协议。RabbitMQ可以部署在分布式
和联合配置中,以满足高规模,高可用性要求。
安装 RabbitMQ
1、Erlang 环境
2、安装RabbitMQ服务
准备: 计算机名要用英文,关闭安全软件。
Activiti工作流框架
学习内容
1. 工作流的概念
2. Activiti概述
3.Activiti入门程序
4.Activiti核心API
5.流程定义、流程实例、流程变量
6.流程定义语言元素
7.Spring框架集成
一.工作流的概念
1.工作流的的定义
将业务流程拆分成多个任务,然后有多个角色(人,系统 参与者)完成各个任务。按照某种预定义的规则传递
文档,信息以及任务。
例如,请假流程。张三提交申请,由他的上司去审批(多个 李四是部门经理,王五项目经理...)
工作流的管理系统:他是一个软件,定义和管理流程。
二.Activiti概述
工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步
骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。后者是
普遍地研究一个群体如何在计算机的帮助下实现协同工作的。
1.Activiti简介
Activiti是Alfresco软件在2010年发布的一个业务流程管理框架。
Activiti前身其实就是jBPM。
JBPM后来被JBoss收购了,JBPM的主要创始人后来离开了JBoss。后来又写了一个工作流框架,这个框架就是
Activiti。
2.Activiti特点
工作流引擎。负责生成流程运行时的各种实例,数据,监控以及管理流程
遵循BPMN2.0(Business Process Model And Notation 标注)。定义了很多的基本符号,业务流程图
数据库的支撑。表有特点的。表名称由ACT_xxx
ACT_RE_xxx:repository。流程定义以及流程数据
ACT_RU_xxx:runtime。流程实例、任务,流程变量
ACT_GE_xxx:general。
ACT_HI_xxx:history。
ACT_ID_xxx:identity。身份信息,用户,组的数据
Quartz概述
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使
用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或
EJBs。Quartz的**版本为Quartz 2.3.0。
应用场景
- 在固定的某一个时间点系统去做一件事
- 例如:每天凌晨3点系统向用户发送邮件
Nginx概述
1.Nginx是什么
- Nginx是一个高性能的**反向代理**服务器
- Nginx也是一个Web服务器,主要用来实现**负载均衡**。也是一个邮件服务器
- Nginx使用C语言开发。由一个俄罗斯人(伊戈尔·赛索耶夫)开发
- Nginx优点
- 解决高并发问题
- 解决负载均衡问题
二.正向代理和反向代理
1.正向代理
- 客户端发送请求,客户端与服务器之间有一台代理服务器。代理服务器拦截请求,由代理服务器向远程
服务器获取数据,然后再将数据发送给客户端,一般正向代理都需要在客户端进行相关配置;
Nexus服务
2.反向代理
- 对于客户端而言,代理服务器就是远程服务器,而且客户端不需要关注远程服务器在哪里。
- 而是由代理服务器调用服务,然后再将请求转发,一般反向代理不需要再客户端进行相关配置
3.软件架构的演变
3.1 单体应用(ALL-IN-ONE)
3.2 集群架构
3.3 集群与分布式综合架构
课程大纲-消息队列与工作流视频课程
第1章RabbitMQ章节(3小时20分钟14节)
第2章Activiti章节(4小时47分钟7节)
“刘英杰”老师的其他课程更多+