08 2018 档案

摘要:问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收; 第2种方法:表单提交,以BeanListModel接收; 第3种方法:将Json对象序列化成Json字符串提 阅读全文
posted @ 2018-08-30 20:56 华丽D转身 阅读(1840) 评论(1) 推荐(0) 编辑
摘要:问题描述 查询数据库表中最近7天的记录 但是发现某一天没有数据,结果中没有显示当天(2017-08-28)的数据 解决思路 思路一: 可以在自己的程序中做额外的补零处理 思路二: 构建一个最近七天的结果集,然后和查询的结果集合做left join(本文采用第二种方式) 当天2017-08-28结果显 阅读全文
posted @ 2018-08-30 20:53 华丽D转身 阅读(8654) 评论(0) 推荐(2) 编辑
摘要:上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下: 一、准备工作 继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务注册中 阅读全文
posted @ 2018-08-23 14:29 华丽D转身 阅读(281) 评论(0) 推荐(0) 编辑
摘要:今天在内部linux环境安装Elasticsearch5.6.8时遇到一些问题,主要如下 使用Elasticsearch5.6.8 必须安装jdk1.8 使用root账号启动es后 会遇到以下问题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [2016-11-14T 阅读全文
posted @ 2018-08-23 10:46 华丽D转身 阅读(921) 评论(0) 推荐(0) 编辑
摘要:作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考。 0.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21 阅读全文
posted @ 2018-08-22 17:49 华丽D转身 阅读(260) 评论(0) 推荐(0) 编辑
摘要:一、linux CPU大小 cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id" 说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo 阅读全文
posted @ 2018-08-22 15:01 华丽D转身 阅读(1589) 评论(0) 推荐(1) 编辑
摘要:i. 那么如何安裝 vim 呢?输入rpm -qa|grep vim 命令, 如果 vim 已经正确安裝,会返回下面的三行代码: root@server1 [~]# rpm -qa|grep vim vim-enhanced-7.0.109-7.el5 vim-minimal-7.0.109-7.e 阅读全文
posted @ 2018-08-22 14:18 华丽D转身 阅读(217) 评论(0) 推荐(0) 编辑
摘要:环境:RHEL6.5 使用scp命令报错: 查看openssh相关包: 发现服务器默认没有安装openssh的客户端。 yum 安装openssh客户端 yum配置本地源可参考: 1.创建挂载目录 # mkdir -p /media/cdrom 2.挂载对应系统版本的iso光盘镜像文件 # moun 阅读全文
posted @ 2018-08-22 10:53 华丽D转身 阅读(2075) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件。它就是Spring Cloud Config。 一、简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spri 阅读全文
posted @ 2018-08-21 14:19 华丽D转身 阅读(888) 评论(0) 推荐(1) 编辑
摘要:在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图: 注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也是注册到服务注册中心的。 在 阅读全文
posted @ 2018-08-20 14:39 华丽D转身 阅读(2421) 评论(0) 推荐(1) 编辑
摘要:在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这 阅读全文
posted @ 2018-08-17 14:54 华丽D转身 阅读(595) 评论(0) 推荐(0) 编辑
摘要:上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。 一、Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feig 阅读全文
posted @ 2018-08-17 10:30 华丽D转身 阅读(1705) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。 一、 阅读全文
posted @ 2018-08-16 21:09 华丽D转身 阅读(690) 评论(0) 推荐(0) 编辑
摘要:一、spring cloud简介 鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE。 Finchley版本的官方文档如下: ht 阅读全文
posted @ 2018-08-16 21:03 华丽D转身 阅读(3271) 评论(1) 推荐(0) 编辑
摘要:linux查看日志文件内容命令tail、cat、tac、head、echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, linux 如何显示一个文件的某几行(中间几行) 从第3000行开始,显示1000行。即显示3000~3999行cat 阅读全文
posted @ 2018-08-15 21:06 华丽D转身 阅读(827) 评论(0) 推荐(0) 编辑
摘要:一:什么是Hystrix 在分布式环境中,许多服务依赖项中的一些将不可避免地失败。Hystrix是一个库,通过添加延迟容差和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点,停止其间的级联故障以及提供回退选项,从而提高系统的整体弹性。 Hystrix旨在执行以下操 阅读全文
posted @ 2018-08-15 16:34 华丽D转身 阅读(344) 评论(0) 推荐(0) 编辑
摘要:Feign简介 Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,S 阅读全文
posted @ 2018-08-15 16:20 华丽D转身 阅读(321) 评论(0) 推荐(0) 编辑
摘要:一、介绍 这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁。会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁。 本篇文章会将分布式锁的实现分为两部分,一个是单机环境,另一个是集群环境下的Redis锁实现。在介绍分布式锁的实现之前,先来了解下分布式锁的一些信息。 二、 阅读全文
posted @ 2018-08-15 16:10 华丽D转身 阅读(230) 评论(0) 推荐(0) 编辑
摘要:一:Ribbon是什么? Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,R 阅读全文
posted @ 2018-08-15 11:47 华丽D转身 阅读(195) 评论(0) 推荐(0) 编辑
摘要:上一篇讲解了spring注册中心(eureka),但是存在一个单点故障的问题,一个注册中心远远无法满足实际的生产环境,那么我们需要多个注册中心进行集群,达到真正的高可用。今天我们实战来搭建一个Eureka集群。 一:集群环境搭建 第一步:我们新建两个注册中心工程一个叫eureka_register_ 阅读全文
posted @ 2018-08-14 20:18 华丽D转身 阅读(337) 评论(0) 推荐(0) 编辑
摘要:Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机变得 阅读全文
posted @ 2018-08-14 19:59 华丽D转身 阅读(698) 评论(0) 推荐(0) 编辑
摘要:上篇文章讲解了SpringCloud组件和概念介绍,接下来讲解一下SpringCloud组件相关组件使用、原理和每个组件的作用的,它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路有(Zuul),客户端负载均衡(Ribbon),Archaius,Turbine等 今天学 阅读全文
posted @ 2018-08-14 19:02 华丽D转身 阅读(221) 评论(0) 推荐(0) 编辑
摘要:一:什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地 阅读全文
posted @ 2018-08-14 17:55 华丽D转身 阅读(361) 评论(0) 推荐(0) 编辑
摘要:当用elasticsearch进行深度分页查询时的size-from大于10000的时候,就会报错“”, 官方推荐是scroll查询返回结果是无序的不满足业务需求,所以还是通过设置最大返回结果数来达到我们的目的 然后我们可以通过以下方法设置: 第一种:curl -XPUT http://127.0. 阅读全文
posted @ 2018-08-13 17:21 华丽D转身 阅读(15446) 评论(8) 推荐(1) 编辑
摘要:目录 1、根节点包含的属性 2、根节点的子节点 2.1、设置上下文名称: 2.2、设置loger、root 目录 1、根节点包含的属性 2、根节点的子节点 2.1、设置上下文名称: 2.2、设置loger、root 2.1、设置上下文名称: 2.2、设置loger、root 正文 回到顶部 1、根节 阅读全文
posted @ 2018-08-09 17:17 华丽D转身 阅读(1261) 评论(0) 推荐(0) 编辑
摘要:logback-spring.xml配置文件 自己改下value="G:/logs/pmp"这个值,如果你相关依赖弄好的话,直接复制粘贴即用 输出的日志文件的名称最好也改下,下文中<file>${log.path}/web_info.log</file>是因为我这个模块就叫web,要改的话,一个ap 阅读全文
posted @ 2018-08-09 17:10 华丽D转身 阅读(7090) 评论(0) 推荐(2) 编辑
摘要:这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s, 具体用法是:ln -s 源文件 目标文件。 当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的 阅读全文
posted @ 2018-08-09 16:36 华丽D转身 阅读(718) 评论(0) 推荐(0) 编辑
摘要:free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一 free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中, 阅读全文
posted @ 2018-08-09 15:11 华丽D转身 阅读(1541) 评论(0) 推荐(0) 编辑
摘要:异常: Caused by: org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper: too_many_clauses: maxClauseCount is set to 1024 用了es的in查询,in中id大于10 阅读全文
posted @ 2018-08-09 14:19 华丽D转身 阅读(8763) 评论(2) 推荐(1) 编辑
摘要:1.引入dependency <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-elasticsearch</artifactId> <version>1.4.0.M1</version> 阅读全文
posted @ 2018-08-07 18:52 华丽D转身 阅读(1866) 评论(0) 推荐(0) 编辑
摘要:elasticsearch CriteriaQuery java API实例应用 CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria().and(new Criteria("clusterName").is("app")).and 阅读全文
posted @ 2018-08-07 18:51 华丽D转身 阅读(6072) 评论(0) 推荐(0) 编辑
摘要:前言 最近工作中在进行一些技术优化,为了减少对数据库的压力,对于只读操作,在程序与db之间加了一层-ElasticSearch。具体实现是db与es通过bin-log进行同步,保证数据一致性,代码调用es查询数据,与mysql解耦。 优势: 减少与mysql的耦合,查询不依赖于mysql特性。因为当 阅读全文
posted @ 2018-08-03 15:52 华丽D转身 阅读(1325) 评论(0) 推荐(1) 编辑
摘要:1.为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程。 import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax. 阅读全文
posted @ 2018-08-03 09:39 华丽D转身 阅读(1730) 评论(0) 推荐(1) 编辑
摘要:大家对java接口Comparator和Comparable都不陌生,JDK8里面Comparable还和以前一样,没有什么改动;但是Comparator在之前基础上增加了很多static和default方法。本文主要结合JDK的stream编程,学习下Comparator。阅读本文需要一些前置知识 阅读全文
posted @ 2018-08-02 15:00 华丽D转身 编辑