- 博客(236)
- 资源 (13)
- 收藏
- 关注
原创 SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程。它采用的是建立生产就绪的应用程序观点,优先于配置的惯例。可能你有很多理由不放弃SSM,SSH,但是当你一旦使用了springboot ,你会觉得一切变得简单了,配置变的简单了、编码变的简单了,部署变的简单了,感觉自己健步如飞,开发速度大大提高了。
2017-04-22 00:03:14 120677 60
原创 如何用Redlock实现分布式锁
之前写过一篇文章《如何在springcloud分布式系统中实现分布式锁?》,由于自己仅仅是阅读了相关的书籍,和查阅了相关的资料,就认为那样的是可行的。那篇文章实现的大概思路是用setNx命令和setEx配合使用。 setNx是一个耗时操作,因为它需要查询这个键是否存在,就算redis的百万的qps,在高并发的场景下,这种操作也是有问题的。关于redis实现分布式锁,redis官方推荐使用redloc
2017-04-20 21:16:16 89168 14
原创 史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。一、consul 简介consul 具有以下性质:服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。服务健康监测key/value 存储多数据中心,consul可运行在mac windows linux 等机器上.
2017-04-19 21:37:35 126968 50
原创 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另一个组件了,即Hystrix Turbine。
2017-04-18 21:54:21 89796 27
原创 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard。一、Hystrix Dashboard简介在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态的一个组件
2017-04-17 23:01:06 98675 64
原创 史上最简单的SpringCloud教程 | 第十一篇: docker部署spring cloud项目
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
2017-04-16 22:02:22 200715 47
原创 Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图
今天一时兴起,想用python爬爬自己的博客,通过数据聚合,制作高逼格的云图(对词汇出现频率视觉上的展示),看看最近我到底写了啥文章。一、直接上几张我的博客数据的云图1.1 爬取文章的标题的聚合1.2 爬取文章的摘要的聚合1.3 爬取文章的标题+摘要的聚合我最近写了SpringCloud系列教程,还有一些微服务架构方面,从云图上看,基本吻合。你若不信,可以进我的博客看看,数据还是非常准确的二、技术栈
2017-04-16 21:49:12 51288 3
原创 consul怎么在windows下安装
去官网下载:https://www.consul.io/downloads.html 解压: 设置环境变量:计算机 右键 属性 高级属性设置环境变量设置在path下加上:E:\programfiles\consul;cmd启动: consul agent -dev 可以看到启动成功。打开网址:http://localhost:8500 ,可以看到界面,相关服务发现的界面。
2017-04-15 23:37:54 87538 15
原创 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适的,这篇文章主要介绍怎么将Eureka Server集群化。
2017-04-15 11:55:45 220765 139
原创 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)
这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。
2017-04-13 21:03:29 185143 77
原创 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
Spring Cloud Bus 将分布式的节点和轻量的消息代理连接起来。这可以用于广播配置文件的更改或者其他的管理工作。一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯。本文要讲述的是用AMQP实现通知微服务架构的配置文件的更改。一、准备工作本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-starter-bus-amq
2017-04-12 22:15:48 295520 220
原创 史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
当服务很多时,都需要同时从配置中心读取文件的时候,这时我们可以考虑将配置中心做成一个微服务,并且将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务中心。
2017-04-10 21:24:15 295462 141
原创 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
简介在分布式系统中,spring cloud config 提供一个服务端和客户端去提供可扩展的配置服务。我们可用用配置服务中心区集中的管理所有的服务的各种环境配置文件。配置服务中心采用git的方式存储配置文件,因此我们很容易部署修改,有助于对环境配置进行版本管理。
2017-04-10 21:18:06 448621 415
原创 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
在微服务架构中,需要几个关键的组件,服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个组件可以组建一个简单的微服务架构。客户端的请求首先经过负载均衡(zuul、Ngnix),再到达服务网关(zuul集群),然后再到具体的服务,服务统一注册到高可用的服务注册中心集群。
2017-04-09 23:25:01 354443 185
原创 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。为了保证其高可用,单个服务又必须集群部署。由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务累计,导致服务瘫痪,甚至导致服务“雪崩”。为了解决这个问题,就出现断路器模型
2017-04-09 21:14:05 348512 370
原创 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
这篇文章主要讲述通过feign去消费服务。Feign是一个声明式的web服务客户端,它使得写web服务变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,包括Feign 注解和JAX-RS注解。Feign同时支持可插拔的编码器和解码器。
2017-04-09 11:53:43 472164 253
原创 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)
转载请标明出处: http://blog.csdn.net/forezp/article/details/69788938 本文出自方志朋的博客在上一篇文章,讲了服务的注册和发现。在服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种调用方式,一种是ribbon+restTemplate,另一种是feign。在这
2017-04-08 23:25:26 519372 420
原创 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的。本文主要介绍了服务的注册与发现。
2017-04-08 18:16:57 909977 316
原创 如何使用MongoDB+Springboot实现分布式ID?
如何使用MongoDB在SpringCloud分布式系统中实现分布式ID?
2017-04-04 11:13:31 74137 13
原创 如何在springcloud分布式系统中实现分布式锁?
最近在看分布式锁的资料,看了 Josial L的《Redis in Action》的分布式锁的章节。实现思路是利用springcloud结合redis实现分布式锁。一、简介一般来说,对数据进行加锁时,程序先通过acquire获取锁来对数据进行排他访问,然后对数据进行一些列的操作,最后需要释放锁。Redis 本身用 watch命令进行了加锁,这个锁是乐观锁。
2017-04-03 11:01:42 96706 26
原创 如何爬取了知乎用户信息,并做了简单的分析
使用的技术栈:爬虫:python27 +requests+json+bs4+time分析工具: ELK套件开发工具:pycharm
2017-04-02 13:05:47 52847 21
原创 《阿里巴巴Java开发手册》阅读笔记
1.抽象类命名使用 Abstract 或 Base 开头; 异常类命名使用 Exception 结尾; 测试类命名以它要测试的类的名称开始,以 Test 结尾。2.POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。
2017-03-30 15:41:20 42350 1
原创 我是如何根据豆瓣api来理解Restful API设计的
1.什么是RESTREST全称是Representational State Transfer,表述状态转移的意思。它是在Roy Fielding博士论文首次提出。REST本身没有创造新的技术、组件或服务,它的理念就是在现有的技术之上,更好的使用现有的 web规范。用REST规范的web服务器,能够更好的展现资源,客户端能够更好的使用资源。每个资源都由URI/ID标识。REST本身跟http无关,但
2017-03-28 10:01:25 43563 1
原创 常见的安全算法
本文整理了常见的安全算法,包括MD5、SHA、DES、AES、RSA等,并写了完整的工具类(Java 版),工具类包含测试。一、数字摘要算法 数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash函数对消息进行计算而产生。如果消息在传递的途中改变了,接收者通过对收到消息采用相同的Hash重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改了,因此消息
2017-03-28 10:00:36 41746
原创 SpringBoot非官方教程 | 第二十五篇:2小时学会springboot
一.什么是spring boot Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as p
2017-03-12 00:23:51 257823 83
原创 Linux基础之常用命令篇
最近一段时间工作实在是太忙了,所以好久没有写文章了,趁着周末把linux 的相关知识,整理了下。这一篇文件主要记录了一些linux的基础命令。需要读者有linux服务器或者有mac电脑去练习。^`^.一、命令的基本格式 [root@localhost~] root为用户名 ~表示当前所在位置 localhost主机名 ‘#’超级用户 ‘$” 普
2017-03-12 00:23:29 38708
原创 深入浅出工厂设计模式
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。因为工厂模式就相当于创建实例对象的new,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。工厂模式最直接的作用就是将创建对象和对象的业务逻辑相分离。
2017-03-12 00:22:47 36441 1
原创 深漂一年,一位程序员的2016年终告白
2016年早已离我们而去,2017年已经快过去了一个月,是时候赶在过年之前写一篇总结。记录一下过往,展望下未来。一、2016年我做了什么1.离开了武汉2016年,我辞去了武汉的工作,离开了生活了十几年的城市,在没有找到下家,没有找到住处的情况下,独自一人去了深圳。这是一个对我的人生有重要意义的决定。找工作,可能我比较幸运,在短短的五天之内面了七八家,拿到了三个offer,最终我选择了去一家创业公司。
2017-03-12 00:22:17 43944 47
原创 Spring详解篇之 AOP面向切面编程
一、概述Aop(aspect oriented programming面向切面编程),是spring框架的另一个特征。AOP包括切面、连接点、通知(advice)、切入点(pointCut) 。1.aop几个概念:横切关注点: 对哪些方面进行拦截,拦截后怎么处理。切面(aspect):切面是横切关注点的抽象。连接点(joinpoint):被拦截的方法切入点(pointcut):对连接点进行拦
2017-03-12 00:21:42 36185
原创 Spring详解篇之IoC控制反转
一.Spring概况spring是一个开源框架是一个轻量的控制反转和面向切面的容器框架大小和开销都是轻量的。通过控制反转技术可以达到松耦合的目的切面编程,允许通过分离应用的业务逻辑。包含并管理应用对象的配置和生命周期,是一个容器,并且能够组装。二、IoCioc控制反转:控制权转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责和维护。ioc的目的是创建对象并且组装对象之间的
2017-03-12 00:21:18 31098
原创 5分钟带你入门Redis
redis概述redis是一个开源的,先进的 key-value 存储可用于构建高性能的存储解决方案。它支持数据结构有字符串,哈希,列表,集合,带有范围查询的排序集,位图,超文本和具有半径查询的地理空间索引。NoSQL,Not Only[SQL],泛指非关系型的数据库。所以redis是一种nosql。
2017-03-12 00:20:43 47255 9
原创 Mybatis学习的一些细节
一.mybatis 基本配置最近几天一直在学习mybatis,看了一些源码,本文讲述mybatis的一些基本配置和基本的用法和注意到一些细节。个人时间和精力有限,本文属于流水账类型,不成体系,算是自己的个人笔记吧
2017-03-12 00:20:07 30747 1
原创 关于Java的反射机制,你需要理解这些..
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。【翻译于 官方文档】本篇将从以下几个方面讲述反射的知识:calss的使用方法的反射构造函数的反射成员变量的反射一、什么是class类在面向对象的世界里,万物皆对象。类是对象,类是java.l
2016-12-18 21:53:51 31872 6
原创 web的监听器,你需要知道这些...
一、简介Listener是Servlet规范的另一个高级特性,它用于监听java web程序的事件,例如创建、修改、删除session,request,context等,并触发相应的处理事件,这个处理事件是由web容器回掉的。学过安卓开发的同学一定很熟悉view.setonClickLister();这样的对安卓控件的监听。java web也是这样的 ,根据不同的listner 和不同的event,
2016-12-18 21:53:16 28125
原创 Filter,一种aop编程思想的体现
一、filter简介filter是Servlet规范里的一个高级特性,只用于对request、response的进行修改。filter提出了FilterChain的概念,客户端请求request在抵达servlet之前都会经过filterChain里的所有fiter,如图所示:二、filter的生命周期在web.xml中配置filter,当启动服务器时会实例化,并且会初始化,当有网络请求时会进行过滤
2016-12-18 21:52:24 29379 1
原创 当Java遇见了Html--Jsp详解篇
一、什么是Jspjsp是一种基于文本的程序,全名java server page,其特点是html和java程序共存。执行时jsp会被运行容器编译,编译后的jsp跟servlet一样,因此jsp是另一种形式的servlet。二、jsp页面组成jsp 页面包括以下内容:静态内容 指令表达式小脚本声明注释1.指令:page指令: 通常位于jsp页面的顶端,同一个页面可以有多个page指
2016-12-18 21:51:49 24284
原创 当Java遇见了Html--Jsp九大内置对象篇
jsp内置对象对象是web容器创建的一组对象,不使用new关键词久可以使用的内置对象。 九大内置对象包括以下:out –JspWriterrequest –ServletRequestreponse –ServletResponseconfig –ServletConfigsession –HttpSessionapplication –ServlerContextpage –Ht
2016-12-18 21:51:04 25193
原创 当Java遇见了Html--Servlet篇
一、什么是servletservlet是在服务器上运行的小程序。一个servlet就是一个 java类,并且通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的程序。继承关系:servlet(interface)->init(),service(),destroy();^genericServlet(abstract class)->与协议无关^httpServlet(abstract
2016-12-18 21:49:52 24842
原创 一篇SSM框架整合友好的文章(三)
一.SpringMVC理论 它始终是围绕 handler、 数据模型 model、 页面view进行开发的。运行流程图:通过mvc配置文件,配置“中央处理器”dispatchservlet,当用户请求一个url,dispatchservlet通过handlerMapping(通过注解的形式)将url给对应的handleradapter,handleradapter的具体业务逻辑是c
2016-12-18 21:48:53 24826
微服务设计和部署
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人