自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

草不谢荣于春风, 木不怨落于秋天。

  • 博客(342)
  • 资源 (7)
  • 收藏
  • 关注

原创 SpringCloud实战微服务之——Ribbon详解

Ribbon简介需要解决的问题:① 如何在配置Eureka Client注册中心时不去硬编码Eureka Server的地址?② 在微服务不同模块间进行通信时,如何不去硬编码服务提供者的地址?③ 当部署多个相同微服务时,如何实现请求时的负载均衡? 实现负载均衡方式1:通过服务器端实现负载均衡(nginx)实现负载均衡方式2:通过客户端实现负载均衡。Ribbon是什么?Ribbon是Netflix发

2018-04-01 10:02:56 37671 2

原创 SpringCloud实战微服务之——服务发现与服务注册(二)-Eureka的简单使用

服务发现组件Eureka简介服务发现组件可以使用ZK ,也可以使用Consul,之所以Eureka使用最多有如下的原因导致:① Eureka来自生产环境。② Spring  Cloud对Eureka的支持很好。Eureka简介:Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Sprin

2018-03-20 16:45:42 2596

原创 SpringCloud实战微服务之——服务发现与服务注册(一)

服务发现与服务注册——基本概念(一)服务发现与服务注册如何解决硬编码问题?上次的实例中是采用的硬编码,实际上是不可取的。因为在实际开发中,服务组件的端口和IP都是动态变化的。一旦一个组件的访问地址发生变化 如果采用的是硬编码就要将所有依赖于此组件的服务组件进行停止-修改-部署 等一系列的操作,如果采用的是Nginx对同一组件的多个副本进行负载均衡 其工作量也是很大的。为了解决这种硬编码造成的问题,...

2018-03-15 17:10:45 1162

原创 SpringCLoud实战微服务之——微服务简介以及入门使用

微服务概述微服务是什么?微服务解决了什么问题?微服务有什么特点?单体架构是什么?一个归档包包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的架构风格,我们称之为单体架构,这是一种比较传统的架构风格。单体架构存在的缺点:1.复杂性逐渐变高。2.技术债务逐渐上升。3.部署速度逐渐变慢。4.阻碍技术创新。5.无法按需收缩。架构的演进:1.单体架构2.SOA3.微服务什么是微服务?Mar...

2018-03-07 17:25:28 6127

原创 git 冲突解决技巧

提交版本后出现冲突如果冲突在同一行,git pull之后再提交就解决了如果冲突不在同一行 git pull之后也会有冲突git pull 之后有冲突:$ git pullremote: Counting objects: 5, done.remote: Compressing objects: 100% (2/2), done.remote: Total 3 (delta 0), reused 0

2017-09-10 18:39:21 1174

原创 MySQL主从复制和读写分离的搭建

① 搭建主从复制前提准备环境准备:两台服务器 分别安装两台MySQL数据库,分别配置登陆用户密码,配置允许第三台机器访问本机MySQL,编辑/etc/my.inf防止中文乱码1.0 服务器server3    192.168.0.130server4    192.168.0.1401.1 安装MySQL:yum -y install mysql-server1.2 启动MySQL服务:servi

2017-09-10 18:05:02 1763

原创 MySQL优化技巧

MySQL优化三大方向① 优化MySQL所在服务器内核(此优化一般由运维人员完成)。② 对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。③ 对SQL语句以及表优化。MySQL参数优化1:MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看mysql> show variables like 'max_connections';2:查看

2017-09-10 14:14:00 86589 12

原创 Hadoop详解(七)——Hive的原理和安装配置和UDF,flume的安装和配置以及简单使用,flume+hive+Hadoop进行日志处理

hive简介什么是hive?① hive是建立在Hadoop上的数据仓库基础架构。它提供了一系列的工具,可以用来进行数据提取转换加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive定义了简单的类似于SQL的查询语言称为QL,它允许熟悉SQL的用户查询数据。同时这种语言也允许熟悉MapReduce的开发者进行开发自定义的mapper和reducer来处理内建的

2017-09-05 21:33:21 2857

原创 Hadoop详解(六)——HBASE原理、HBASE的集群安装、常用命令和Java接口

HBASE简介HBASE是bigtable的开源山寨版本。是建立在HDFS基础之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join)等复杂操作。主要用来存储非结构化和半结构化的松散数据。与Hadoop一样,HBASE目标主要依靠横向扩展,通

2017-09-04 23:18:52 1390

原创 Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用

ZooKeeper简介什么是ZooKeeper?ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务。它包含了一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命令服务等。它的结构图如下:ZooKeeper集群搭建的要求:必须要有奇数台。如果想让ZooKeeper既具有高效性,又能正常工作,只要需要3台的ZooKeeper集群。ZooKeepe

2017-09-04 11:24:22 2794

原创 Hadoop详解(四)——Shuffle原理,Partitioner分区原理,Combiner编程,常见的MR算法

Partitioner编程Partition简介shuffle是通过分区partitioner 分配给Reduce的 一个Reducer对应一个记录文件Partitioner是shuffle的一部分partitioner执行时机:在mapper执行完成,Reducer还没有执行的时候,mapper的输出就是partitioner的输入 即partitioner 分区主要是用来提高效率的 例如从全国

2017-09-02 15:34:25 8124 1

原创 Hadoop详解(三)——MapReduce原理和执行过程,远程Debug,Writable序列化接口,MapReduce程序编写

MapReduce概述MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题。MR由两个阶段组成:Map和Reduce,用户只需要实现map()和Reduce()两个函数,即可实现分布式计算。这两个函数的形参是key、Value对,表示函数的输入信息。MapReduce的老大是JobTracker 小弟叫TaskTracker相当于小组长 执行具体任务

2017-09-02 10:17:28 6081

原创 Hadoop详解(二)——HDFS的命令,执行过程,Java接口,原理详解。RPC机制

HDFS是Hadoop的一大核心,关于HDFS需要掌握的有:分布式系统与HDFS、HDFS的体系架构和基本概念、HDFS的shell操作、Java接口以及常用的API、Hadoop的RPC机制、远程debugDistributed  File System数据量越来越多,在一个操作系统管理的范围存储不了,那么就需要分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多

2017-09-01 00:00:37 3578

原创 Hadoop详解(一)——大数据和Hadoop的简介、Hadoop伪分布式的安装步骤

Hadoop是什么?官方解释是:What Is Apache Hadoop?The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.Hadoop是一个开源,可靠,可扩展的分布式计算软件。Hadoop用于解决以下问题:海量数据的存储(HDFS)海量数据的分析(MapReduce)资源管理调度(YARN)

2017-08-31 12:04:25 3868

原创 Linux使用rpm方式安装MySQL时异常总结

因为搞大数据中的hive时需要安装MySQL作为元数据库,处于没有外网的原因 我在官网https://dev.mysql.com/downloads/mysql/  下载了安装包(Server和Client) 但是在安装时出现了以下问题[root@hadoop5 Desktop]# rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm w

2017-08-26 16:22:19 4916

原创 Hadoop运行中NameNode闪退和运行mapreducer时卡在Running job.....

开始安装Hadoop时 第一次成功启动 包括MapReducer程序也能成功运行。后来不知道什么原因 进入了Safe mode即使退出了安全模式照样不能对HDFS进行任何修改操作,索性hdfs namenode -format格式化一下,连启动都无法启动了,修改NameNode和DataNode的clusterID一致后 虽然修改HDFS问题解决了,但是运行任务时总是卡在了Running job

2017-08-18 12:55:47 2294

原创 Hadoop格式化后出现异常

我在正常安装Hadoop 格式化后正常启动,在安装成功后再次格式化就出现了异常,解决方案从如下论坛中找到http://forum.hadoop.tw/viewtopic.php?f=4&t=43

2017-08-17 15:41:33 1627

原创 JAVAWEB开发之工作流详解(二)——Activiti核心API的使用(流程定义和流程实例的管理、流程变量、监听器...)以及与Spring的集成

管理流程定义设计流程定义文档bpmn文件设置方式可以直接使用插件图形化界面进行设置为某任务节点指定任务执行者保存后的BPMN文件可以使用XML编辑器打开BPMN 2.0根节点是definitions节点。 这个元素中,可以定义多个流程定义(不过我们建议每个文件只包含一个流程定义, 可以简化开发过程中的维护难度)。 一个空的流程

2017-08-09 15:09:07 6467 1

原创 普通邮件发送工具类总结

在Spring中也提供了邮件发送,如果对于不使用Spring框架的项目,邮件发送需要封装工具类导入mail.jar和activation.jar 如果想放入web工程 需要将javaee.jar中的javax.mail和javax.activation两个不完善的工具包删除具体代码如下:import java.util.Properties;import javax.mail.Au

2017-08-06 17:35:24 1194

原创 JAVAWEB开发之工作流详解(一)——Activiti的环境搭建、插件安装、核心API

工作流的概念工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作

2017-08-05 11:54:17 14507 3

原创 JAVAWEB开发之Solr的入门——Solr的简介以及简单配置和使用、solrJ的使用、Solr数据同步插件

Solr简介Solr是采用Java开发,基于Lucene的全文检索服务器,同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。Solr是一个独立的企业级搜索应用服务器,它对外提供类似于

2017-07-26 16:14:17 10267 4

原创 JAVAWEB开发之权限管理(三)——shiro与企业项目整合开发(基于Spring)

原理回顾什么是权限管理?权限管理是系统的安全范畴,要求必须是合法的用户才可以访问系统(用户认证),且必须具有该 资源的访问权限才可以访问该 资源(授权)。认证:对用户合法身份的校验,要求必须是合法的用户才可以访问系统。授权:访问控制,必须具有该 资源的访问权限才可以访问该 资源。权限模型:标准权限数据模型包括 :用户、角色、权限(包括资源和权限)、用户角色关系、角色权限关系。

2017-07-18 22:46:37 9227 6

原创 JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法、shiro认证与shiro授权

shiro介绍什么是shiroshiro是Apache的一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。它可以实现如下的功能:1.验证用户2.对用户执行访问控制,如:判断用户是否具有角色admin,判断用户是否拥有访问的资源权限。3.在任何环境下使用SessionAPI。例如C/S程序4

2017-07-16 01:53:40 16963 8

原创 JAVAWEB开发之权限管理(一)——权限管理详解(权限管理原理以及方案)、不使用权限框架的原始授权方式详解

知识清单1.了解基于资源的权限管理方式2. 掌握权限数据模型3. 掌握基于url的权限管理(不使用Shiro权限框架的情况下实现权限管理)4. shiro实现用户认证5. shiro实现用户授权6. shiro与企业web项目整合开发的方法权限管理原理知识什么是权限管理只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制。按照安全规则或安全策

2017-07-13 13:35:18 97489 36

原创 JAVAWEB开发之redis学习(十三)——redis服务器的虚拟内存和内存优化

Redis虚拟内存一、虚拟内存简介:和大多NoSQL数据库一样,Redis同样遵循了Key/Value数据存储模型。在有些情况下,Redis会将Keys/Values保存在内存中以提高数据查询和数据修改的效率,然而这样的做法并非总是很好的选择。鉴于此,我们可以将之进一步优化,即尽量在内存中只保留Keys的数据,这样可以保证数据检索的效率,而Values数据在很少使用的时候则可以被换出到磁盘

2017-07-08 13:50:41 1162

原创 JAVAWEB开发之redis学习(十二)——redis服务器管理

一、概述:Redis在设计之初就被定义为长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动进程的情况下立即生效。即便是将当前的持久化模式从AOF切换到RDB也无需重启。在Redis中,提供了一组和服务器管理相关的命令,其中就包含和参数设置有关的CONFIG SET/GET command。二、相关命令列表:命令原型 时间复杂度 命令描述 返回值CONFIG

2017-07-08 13:42:47 877

原创 JAVAWEB开发之redis学习(十一)——redis运维相关(主从复制以及AOF、RDB的配置、后台运维命令)

/*redis持久化,两种方式1、rdb快照方式2、aof日志方式----------rdb快照------------save 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yes #当进行异步持久化操作时有错误发生,停止持久化操作rdbcompression yes #压缩RDB文件rdbche

2017-07-08 13:25:46 985

原创 JAVAWEB开发之redis学习(十)——redis持久化存储

一、Redis提供了哪些持久化机制:1). RDB持久化:该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。    2). AOF持久化:该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。3). 无持久化:我们可以通过配置的方式禁用Redis服务器的持久化功能,这样我们就可

2017-07-08 11:06:33 2007

原创 JAVAWEB开发之redis学习(九)——redis主从复制入门及原理

一、Redis的Replication下面的列表清楚的解释了Redis Replication的特点和优势。1). 同一个Master可以同步多个Slaves。2). Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力。因此我们可以将Redis的Replication架构视为图结构。3). Master Server是以非阻塞的方式为S

2017-07-07 21:58:02 1070

原创 JAVAWEB开发之redis学习(八)——redis事务

一、概述:和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制。在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石。相信对有关系型数据库开发经验的开发者而言这一概念并不陌生,即便如此,我们还是会简要的列出Redis中事务的实现特征:1). 在事务中的所有命令都将会被串行化的顺序执行,事务执行期间,Redis不会再为其它客户端的

2017-07-07 21:09:06 843

原创 JAVAWEB开发之redis学习(七)——key相关的通用操作

一、概述在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set。这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的。而该篇博客将主要讲述与Key相关的Redis命令。学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器。在该篇博客中,我们将一如既往的给出所有相

2017-07-07 20:36:28 936

原创 JAVAWEB开发之redis学习(六)——HashSet集合相关的操作命令

一、概述我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器。所以该类型非常适合存储键值对象的信息。如Username、Password和Age等。如果Hash包含很少的字段,那么该类型的数据也将占用很少的磁盘空间。每一个Hash都可以存储4294967295个键值对。二、相关命令列表格式:命令原型    时间复杂度+命令描述

2017-07-07 17:33:23 1791

原创 JAVAWEB开发之redis学习(五)——SortedSet集合相关的操作命令

一、概述Sorted-Sets和Sets类型极为相似,它们都是字符串集合,都不允许重复的成员出现在同一个Set中。它们之间的主要差别是Sorted-Sets中每一个成员都有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted-Set中成员必须是唯一的,但是分数(score)却是可以重复的。在Sorted-Set中删除或

2017-07-07 14:07:58 934

原创 JAVAWEB开发之redis学习(四)——Set集合相关的操作命令

一、概述在redis中,我们可以将Set类型看做没有排序的字符串集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间完成此操作。Set可包含最大数据量是4294967295。和List类型不同的是,Set集合中不允许出现重复的元素,这一点和C++标准库中的Set容器是完全相同的。换句话说,如果

2017-07-06 22:12:14 989 1

原创 JAVAWEB开发之redis学习(三)——list相关的操作命令

一、概述在redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,redis将为该键创建一个新的链表。与此相反,如果该链表中的所有元素都被移除,那么该键也将会被从数据库中移除。List中可以包含的最大元素数量是4*1024^3-1=4294967295。从元素插入和删除的效率

2017-07-06 18:42:21 1047 3

原创 JAVAWEB开发之redis学习(二)——string相关的操作命令

一、概述字符串类型是redis中最为基础的数据存储类型,它在redis中是二进制安全的,这就意味着该类型可以接收任何格式的数据,如JPEG图像数据或json对象描述信息等。在redis中字符串类型的value最多可以容纳的数据长度为512M。二、相关命令列表命令原型  时间复杂度   命令描述 返回值APPEND key value  O(1)     如果该Key已经

2017-07-06 11:45:14 1136

原创 JAVAWEB开发之redis学习(一)——redis重点介绍、redis应用场景以及redis的安装运行

redis学习目标1.redis特点及安装2.redis键值操作3.redis数据类型[string, link,set,orderset,hash]4.事务5.消息订阅6.持久化7.集群8.运维redis简介redis是开源BSD许可高级的key-value存储系统(NoSQL)可以用来存储字符串,哈希结构,链表,集合,因此,常用来提供数据结构服务。

2017-07-04 18:22:42 5078 1

原创 JAVAWEB开发之——Linux命令实战、虚拟机和centos的安装以及联网、常用命令、vi编辑以及软件的安装、sftp的使用

Linux简介Linux是一种自由和开放源码的操作系统,存放着许多不同的Linux版本,但他们都使用了Linux内核。Linux可安装在各种计算机硬件中比如、手机、平板电脑、路由器、台式计算机中。Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成美国《时代周刊》如此评价他:有些人生来就具有统率百万人

2017-07-01 15:28:21 1809

原创 JAVAWEB开发之——Linux命令总结

/*一、文件系统的管理tips:输入命令的时候要常用tab键来补全ls 查看目录信息 ( ls / ) ls -l 等价于 llpwd 查看当前所处的路径 cd 切换目录 (cd /) ,如果不带参数则切换到用户主目录 ~mkdir 创建文件夹mkdir -p a/b/c 如果要创建的文件夹的父目录不存在,则自动创建rmdir 删除空文

2017-06-27 21:31:04 1364

原创 JAVAWEB开发之SpringMVC详解(二)——高级开发、数据回显、参数绑定集合、图片上传、json交互、validation校验、异常处理、RESTful支持、拦截器

知识回顾springmvc框架用户请求url到DispatcherServlet前端控制器,相当于中央调度器,降低系统各组件之间的耦合度。DispatcherServlet前端控制器通过HandlerMapping处理器映射器根据url找到Handler。DispatcherServlet前端控制器通过HandlerAdapter处理器适配器执行Handler。Dispatch

2017-06-25 21:29:32 4154 1

ng-flow上传多张图片

ng-flow 上传多张图片

2016-08-14

CoreData 数据请求 以及下载的自封装方法

这是封装后的方法 连类名都不用写 导入调用函数名即可进行文件下载 数据请求 以及Coredata的使用

2015-10-19

UILabel分类——自动调整处理文章格式显示

当我们要在一个UILabel组件上显示指定文章格式和行间距 字体颜色或风格且高度不确定的文章时,只需要把该文件拉进工程。把头文件导入,即可让UILabel组件调用分类方法。任可要求均可满足。并且,还可以求出文章的具体高度。

2015-10-19

ios开发之SQLite数据库打开工具MesaSQLite

用于打开IOS客户端上的SQLite数据库

2015-10-19

传智播客PPT之 )—数据存取

对象的归档和解档 数据库的操作 以及Coredata的详细使用

2015-10-19

IOS第三方库大全

用于数据请求的第三方包ASIHttpRequest 用于创建组件约束进行屏幕适配的第三方包Masonry 用于显示缓冲或加载的动态组件第三方包MBProgressHUDFile 用于加密的第三方包MD5 用于上下拉刷新的第三方包MJRefresh第三方包 用于JSON解析的第三方包SBJson 用于图片缓存和下载的第三方包SDWebImageFile

2015-10-19

IOS开发项目源代码之 ArtPage

涵盖最全的第三方库 封装了IOS最高级最高级的技术 使开发IOS程序更加方便,

2015-10-19

空空如也

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

TA关注的人

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