1 前言 相信不少人听过这么一句话: 人类的本质是复读机. 在软件开发领域也一样,我们总是想寻找更好地方式复制优秀的逻辑或系统.最核心的方法是抽取通用逻辑和组件,把差异化的东西接口化或配置化,达到复用的效果.如Java的Build Once, Run Everywhere,还有Spring的强大的抽象能力.这是应用层面的复用,Docker则在系统层面作文章,让我们可以快速复制一个系统(如CentOS)或一个服务(如Kafka). 2 Docker的便利与优势 利用Docker,我们可以很快的使用…
1. Job Job是一个封装了 Batch 整个执行过程的实体,和其他 Spring 工程一样,Job可以基于 XML 和 Java-based配置两种,但是无论使用怎样的配置,Job都在这个结构的顶层.结构层次如下: 在 Spring Batch 中,Job是 Step的一个容器,一个 Job 根据一定的逻辑聚合了一个或多个 Step,使 Step 按照一定的规则执行,同时 Job还可以定义在所有 Step 之上的属性,如Job是否可以重启.Job 具体的属性包括一下几类: Job 的名称,…
1. 基本概念 jvm 是可运行Java代码的假想计算机,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收堆和一个存储方法域. jvm 是运行在操作系统之上的,屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在 jvm 上运行的字节码,就可以在多种平台上不加修改地运行. Java 语言的一个非常重要的特点就是与平台的无关性(跨平台),其得益于 jvm,不是 Java 实现的跨平台,而是 jvm 的跨平台性,进而描述 Java 是跨平台的. 我们知道,每个平台的 api 肯定是不…
1.Maven仓库2.Maven坐标3.Maven插件和目标4.Maven生命周期4.1 clean:清理项目4.2 default:构建项目(重要)4.3 site:建立项目站点 1.Maven仓库 当第一次使用Maven的时候,Maven会从远程仓库http://repo1.maven.org/maven2 下载所需要的jar包到你本地仓库 等下次再获取同样的jar包时,Maven会先从你本地仓库获取,如果本地仓库获取不到,则再从远程下载. 2.Maven坐标 Maven通过groupId,…
一.Flink 简介 Apache Flink 诞生于柏林工业大学的一个研究性项目,原名 StratoSphere .2014 年,由 StratoSphere 项目孵化出 Flink,并于同年捐赠 Apache,之后成为 Apache 的顶级项目.2019 年 1 年,阿里巴巴收购了 Flink 的母公司 Data Artisans,并宣布开源内部的 Blink,Blink 是阿里巴巴基于 Flink 优化后的版本,增加了大量的新功能,并在性能和稳定性上进行了各种优化,经历过阿里内部多种复杂业…
1.quartz入门案例 本入门案例基于spring和quartz整合完成. 第一步:创建maven工程,导入spring和quartz相关依赖 第二步:创建任务类 第三步:在spring配置文件中配置任务类 第四步:在spring配置文件中配置JobDetail 第五步:在spring配置文件中配置触发器 第六步:在spring配置文件中配置scheduler 第七步:加载spring配置文件,创建spring工厂 2.核心概念 1.scheduler是一个计划调度器容器,容器里面可以盛放众多…
lucene Lucene介绍及核心概念 什么是Lucene Lucene是一套用于全文检索和搜索的开放源代码程序库,由Apache软件基金会支持和提供.Lucene提供了一个简单却强大的应用程序接口,能够做全文索引和搜索,在Java开发环境里Lucene是一个成熟的免费开放源代码工具:就其本身而论,Lucene是现在并且是这几年,最受欢迎的免费Java信息检索程序库. lucene可以做什么 Lucene允许你向自己的应用程序中添加搜索功能.Lucene能够把你从文本中解析出来的数据进行索引和…
原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbirdbest/article/details/79200022 基本概念介绍 Elasticsearch是一个基于Lucene构建的开源.分布式.RESTful的搜索引擎,能够实现近实时(NRT)搜索,稳定.可靠.安装方便.Elasticsearch 不…
主要内容: 1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则 JAVA的平台应用 JAVA的平台应用分为3个部分: 一.JAVA SE,主要用来开发桌面应用软件. 二.JAVA ME,嵌入式开发. 三.JAVA EE,网络编程,JSP等. 核心概念:JVM,JDK,JRE 字节码文件运行在JVM中,字节码和虚拟机是实现Java一次编译,四处运行跨平台的关键. 想吃鱼---去买鱼---杀鱼的过程相当于编译器----给鱼烧熟这个过程属于解释…
  Mycat中的核心概念     Mycat中的核心概念 1.数据库中间件    Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有 存储引擎,所以并不是完全意义的分布式数据库系统.Mycat 是数据库中间件,就是介于数据库与应用之间,进行数据处理与交互的中间服务.有了数据库中间件,应用只需要集中与业务处理,大量的通用的数据聚合,事务,数据源切换都由中间件来处理,中间件的性能与处理能力将直接决定应用的读写性能,所以一款好的数据库中间件至关重要.…
  Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识和原理以初学者的角度记录下来,如有不当,烦请指正! 0. 带着问题上路——ES是如何产生的? (1)思考:大规模数据如何检索? 如:当系统数据量上了10亿.100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题: 1)用什么数据库好?(mysql.sybase.oracle.达梦.神通.mongodb.hbase…) 2)如何解决单点故障:(lvs.F5.A10.Zookeep.MQ) 3)如…
作者| 阿里巴巴资深技术专家.CNCF 9个 TCO 之一 李响 一.什么是 Kubernetes Kubernetes,从官方网站上可以看到,它是一个工业级的容器编排平台.Kubernetes 这个单词是希腊语,它的中文翻译是"舵手"或者"飞行员".在一些常见的资料中也会看到"ks"这个词,也就是"K8s",它是通过将 8 个字母"ubernete "替换为"8"而导致的一个缩写. K…
1.ZooKeeper介绍与核心概念1.1 简介ZooKeeper最为主要的使用场景,是作为分布式系统的分布式协同服务.在学习zookeeper之前,先要对分布式系统的概念有所了解,否则你将完全不知道zookeeper在分布式系统中起到了什么作用,解决了什么问题. 1.2分布式系统面临的问题我们将分布式系统定义为:分布式系统是同时跨越多个物理主机,独立运行的多个软件所组成系统.类比一下,分布式系统就是一群人一起干活.人多力量大,每个服务器的算力是有限的,但是通过分布式系统,由n个服务器组成起来的…
zookeeper是一个分布式程序的高性能协调服务,提供集中式信息存储服务,数据存储于内存中,类似文件系统的树形结构,高吞吐量和低延时,集群高可靠,基于zookeeper可以实现分布式统一配置中心.分布式锁.服务注册中心. zookeeper的同类产品 consul etcd Doozer等 单机版安装 下载tar文件,地址 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ 解压后在conf目录增加zoo.cfg(复制zoo_…
一.分布式基础理论 1.什么是分布式系统? <分布式系统原理与范型>定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distributed system)是建立在网络之上的软件系统. 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 2.发展演变 a.单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.…
本文将会简单介绍Kubernetes的核心概念.因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍.相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概念.我们发现一些概念(比如Service)如果没有图表的辅助就很难全面地理解.在合适的地方我们也会提供Kubernetes文档的链接以便读者深入学习. 什么是Kubernetes? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.如果你曾经用过Doc…
OpenStack从入门到放弃 目录: 为何选择云计算/云计算之前遇到的问题 什么是云计算 云服务模式 云应用形式 传统应用与云感知应用 openstack及其相关组件介绍 flat/vlan/gre/vxlan介绍 分布式存储ceph介绍 openstack mitaka三节点部署实战 一:为何选择云计算/云计算之前遇到的问题 一.有效解决硬件单点故障问题 单点故障是指某个硬件的故障造成网站某个服务的中断.要真正解决这个问题,需要为每个硬件准备冗余,这不仅大大增加了硬件购置成本,而且部署与维护…
写在前面------------------------------------------------------------------------- 本文章主要从三个方面来学习Struts2框架 , 分别是 struts2登录实例 和 struts2工作流程与工作原理 及在开发中注意到问题 , 之所以把例子放在前面来说,是为了可以使学习者通过代码来学习框架,毕竟"实践出真知"~ 然后在根据写的实例来分析Struts2的工作流程和实现原理,最后是总结Struts中的问题~ 一,St…
前言 本文紧接上篇.Net架构篇:思考如何设计一款实用的分布式监控系统?,上篇仅仅是个思考篇,跟本文没有太大的关系.但有思考,结合现有的开源组件,实践起来更易理解起来,所以看本文之前,应该先看下上篇博文. Zipkin简介 Zipkin是一种分布式跟踪系统.它有助于收集解决微服务架构中的延迟问题所需的时序数据.它管理这些数据的收集和查找.Zipkin的设计基于Google Dapper 论文. 应用程序用于向Zipkin报告时序数据.Zipkin UI还提供了一个依赖关系图,显示了每个应用程序通…
本文原题“<NIO 入门>,作者为“Gregory M. Travis”,他是<JDK 1.4 Tutorial>等书籍的作者. 1.引言 Java NIO是Java 1.4版加入的新特性,虽然Java技术日新月异,但历经10年,NIO依然为Java技术领域里最为重要的基础技术栈,而且依据现实的应用趋势,在可以预见的未来,它仍将继续在Java技术领域占据重要位置. 网上有关Java NIO的技术文章,虽然写的也不错,但通常是看完一篇马上懵逼.接着再看!然后,会更懵逼... 哈哈哈!…
Kubernetes简介 Kubernetes是谷歌严格保密十几年的秘密武器-Borg的一个开源版本,是Docker分布式系统解决方案.2014年由Google公司启动. Kubernetes提供了面向应用的容器集群部署和管理系统.Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放在以容器为中心的原语上进行自助运营.Kubernetes 也提供稳定.兼容的基础(平台),用于构建定制化的workflows 和更高级的自动化任务.…
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括使用方式,及相关介绍,都容易引人误解. 为此,我打算重新写个系列来介绍最新的版本,让大伙从传统的ORM编程过渡到自动化框架型思维编程(自已造的词). 于是:这个新系列的名称就叫:CYQ.Data 从入门到放弃ORM系列 什么是:CYQ.Data 1:它是一个ORM框架. 2:它是一个数据层组件. 3…
很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽然方便了Javascript的入门,但要深入理解Javascript的时候,长期使用这些编程语言造成的思维定势却给使用Javascript带来误导.作者在学习Javascript的时候曾陷入了这个误区,希望通过这篇文章让新学者避免走这个弯路,迅速正确地掌握Javascript. 1. 要点 在面对Javascript时,要牢记以下几点: 1.1…
一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的博文:win10搭建代理服务器实现绕过校园网的共享限制--从入门到放弃) 不得不说,这是一个痛苦的过程... 毕竟之前没有在Windows上倒腾过服务器,忍不住说一句= = Windows真不适合弄服务器,T T.. 然而别无选择啊,天翼客户端只有Linux版本的! 二.概念介绍 接下来教程开始,首…
Javascript本质第一篇:核心概念   很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽然方便了Javascript的入门,但要深入理解Javascript的时候,却带来了误导.作者在学习Javascript的时候曾陷入了这个误区,希望通过这篇文章让新学者避免走这个弯路,迅速正确地掌握Javascript. 1. 要点 在面对Javascript时,要牢记以下几点: 1.1 Javas…
http://gaearon.github.io/redux/index.html ,文档在 http://rackt.github.io/redux/index.html .本文不是官方文档的翻译.你可以在阅读官方文档之前和之后阅读本文,以加深其中的重点概念. 根据该项目源码的习惯,示例都是基于 ES2015 的语法来写的. Redux 是应用状态管理服务.虽然本身受到了 Flux 很深的影响,但是其核心概念却非常简单,就是 Map/Reduce 中的 Reduce. 我们看一下 Javasc…
这节比较枯燥,都是原理,不过也有干货.这篇能不能听懂,就决定是否入门...所以,加油吧 博客园/B站/知乎/CSDN  @秋意正寒 转载请在文头注明本文地址 本篇讲空间句法的几个核心概念,有一些也是重要的分析结果(在DepthMapX中,作为某个分析图层的属性返回,具体见后面的博客,有介绍如何操作.导出结果) 本系列目录:https://www.cnblogs.com/onsummer/p/10777520.html 以下所有的属性,除了VGA,都是某一个轴线/线段/凸多边形的一个属性值,如整合…
本文记录的是作为一个新手,从了解 Docker 是什么.Docker 技术包含哪些概念到上手使用.安装以及发布 Docker 镜像的整个过程.作者在学习过程中参阅了诸多文档和教程,在此一并感谢,与此同时本文结尾也列出了参考文献的链接,供读者进一步参考.遵循简介.入门.上手到深入的顺序,本文根据个人学习实践过程进行书写,结构如下: Docker 简介 1.1 Docker 概念扫盲:什么是 Docker? 1.2 Docker 和虚拟机的区别与特点 Docker 基本概念 2.1 核心概念:镜像.…
[大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 *********************分割线********************** 由于新入职了一家公司,准备把我放进大数据的组里面 我此前对大数据,仅仅停留在听说过这个名词上,那么这次很快就要进入项目,一边我自己在学习,一边也把教程分享出来,避免后来之人踩我所踩过的坑 *************…
原文链接:http://www.jianshu.com/p/2dbb360886a8 本文会用实例的方式,将 iOS 各种 IM 的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. —— 由宇朋Look分享 前言 本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. 注:文中的所有的代码示例,在github中都有demo:iOS即时通讯,从入门到“放弃”?(demo)可以打开项目先预览效果,对照着进行阅读. 言归正传,首先我们来总…