9 xinluke

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

使用Ansible进行平滑发布服务整理

针对每次发布服务都是单个实例发布的情况,在目前或者以后进行开发升级,手动发布的流程可以进行优化。 使用ansible的平滑发布,可以一次串行或者并行升级多个实例。创建发布组[test]192.168.248.53192.168.248.73定义ansible发布任务配置--- - hosts: "{{ machine }}" remote_user: dev...

2018-05-04 15:08:27

Xshell配置Xagent登陆服务器

免密登录本地免密登录Linux服务器在新建会话的时候使用Public Key的方式进行登录验证即可。 对于本地与远程Linux服务器的登录操作,使用SSH免密登录的方式确实比使用密码的方式更加简单安全。Linux服务器之间免密登录由于SSH证书私钥是存在本地的,在Linux服务器上面都只存了对应的公钥,并没有私钥。举个例子例如有服务器:A(192.169.0.100),B(192.169.0.10

2017-09-29 16:47:12

RESTful API总结

误区使用restful的api设计,对于springmvc进行api定义不是很方便?例如,设计一个查询一个应用下面某个订单号信息的api 假如使用传统的url设计思路http://www.example.com/order?appKey=adsds&orderId=2434545对应要写的mapping方法为@GetMapping("order") public Order getOrde

2017-08-06 18:25:57

Feign接口编写规范

不要在接口类名上使用RequestMapping虽然可以使用,但同时SpringMVC会把该接口的实例当作Controller开放出去,这个可以在启动的Mapping日志中查看到。 这样的做法会污染调用方的mapping映射空间。假如在controller中存在相同路径的url,会造成项目启动失败。

2017-07-26 14:21:08

dev,test环境公用一个Eureka的总结

保证不同环境服务调用稳定为了dev环境和test环境下的服务调用不会乱串,必须在eureka上报中指定自己的所属分区配置application-test.ymleureka: instance: metadata-map: zone: test而dev环境中的配置不需要特别指定,以默认的zone即可。 这样,在服务在Eureka中注册成功后,从Eureka中拉取全部注册的A

2017-07-13 15:12:31

Spring Cloud微服务交互设计总结

采用http协议进行数据交互在spring cloud微服务交互中,基本上还是采用http协议进行数据交互。 与dubbo不同的是,http协议与编程语言无关,所以无法向dubbo一样,将抛出的Exception的内容进行序列化传到调用方,所以只能采用错误码的方式来传递异常消息。数据的包装形式当调用正常的情况下,只需要返回完整的数据对象即可。josnObject or jsonArray当出现错误

2017-07-13 13:14:59

spring cloud 监控配置

pom.xml中添加依赖引入监控相关的jar<!-- 监控 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>actuator内置常规的endpoint(端点),通过spring

2017-06-27 17:54:48

hystrix适用场景

在分布式架构中,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。hystrix适用场景核心无降级业务计费业务,id生成器业务作为核心业务,是整个短信业务的核心,如果引入熔断机制会导致业务流程失败,相当于整个短信业务不可用,所以这类

2017-06-13 16:31:01

业务建模:枚举字段的类型选择

选择合适的枚举值在数据库建表的时候,经常会遇到建立状态、性别、类型等字段的业务需求。这些字段有一个共同的特点,它们的业务含义通常就是这么几个取值。这样的字段我们可以成为枚举字段。确定一个字段是否是枚举字段,得参考它所表达的业务含义。如果是在电商业务中,商品表有商品类型字段,一般的电商都是可以动态添加或者删除类型,也就是说,商品类型可能有无数个取值,那么它就不是枚举字段。选择合适的存储方式对于性别字段

2017-04-29 13:34:33

Feign logging

spring cloud netfix组件中,feign相关的日志默认是不会输出的。 Logger.Level用于通知Feign进行记录的log的详细程度。NONE, No logging (DEFAULT).BASIC, Log only the request method and URL and the response status code and execution time.HEAD

2017-04-14 15:15:16

项目改造接入Spring Cloud流程

首先,项目先改造为spring boot工程建议,采用下列方式引入spring boot依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE

2017-03-29 14:24:13

apache beach压力测试工具使用

安装abyum -y install httpd-tools检查是否安装成功查看ab是否安装成功,可以切换到上述目录下,使用ab –V命令进行检测。如下:ab -V进行压力测试##test.txt参数文件要存在当前目录下ab -n1 -c1 -T'application/json' -p test.txt http://www.baidu.com/具体的参数可以通过ab -h 或者Apache

2017-03-24 17:03:38

服务注册与发现

在分布式系统中,各个子系统都是多个实例存在,这个时候必须要引入一个服务协调器,用于给调用方提供可用的调用提供者的命名消息。 服务协调器,如zookeeper,etcd,eureka 他们必须要有的特性: - 本身高可用,由多个服务节点构成,就算有些节点挂掉也不影响正常运行,避免了单点故障。 - 本身是一个分布式,一致性的 k-v 存储系统。提供方启动的时候将自身配置信息向协调器中进行注册

2017-02-24 17:16:03

cp命令详解

cp [OPTION]... SOURCE... DIRECTORYcp命令比较灵活,既能复制文件,也能复制整个目录。 源类型\目标条件 路径是文件 路径是目录 路径不存在 单文件 覆盖此文件 复制到此目录下 如果路径最后是以‘/’结尾,当做目录处理,复制就会报错;此路径的上级目录必须存在,复制并改名为此文件名 多文件 复制到此目录下 目录

2017-02-19 16:11:38

docker常用命令

停止全部容器docker stop $(docker ps -a -q)删除全部容器docker rm $(docker ps -a -q)删除全部imagesdocker rmi $(docker images -q)删除untagged images,也就是那些id为的imagedocker rmi $(docker images | grep "^<none>" | awk "{print $

2017-02-09 16:17:31

eclipse中设置properties文件编码

按图示设置

2017-02-08 11:07:52

项目开发编码设置

在多人协同开发的团队中,为了兼顾MAC,WINDOWS,LINUX平台上的IDE,建议采用UTF-8编码,换行采用LINUX的换行符\n

2017-01-24 10:43:10

maven部署的时候同时部署source.jar

配置maven-source-plugin在项目的pom.xml中添加如下代码块 <build> <plugins> <plugin> <artifactId>maven-source-plugin</artifactId> <executions>

2017-01-17 18:36:53

Spring-Rabbit消费多个mq中相同的队列

因为业务规模比较大,采用多台rabbitmq服务器进行处理,在每台rabbitmq建立相同的exchange,采用客户端分片的方式,生产者根据hash分发消息到不同的服务器中。 作为消费者,必须能支持消费全部rabbitmq的相同的exchange。这里因为4台mq,就在代码中写死数组下标package cn.jpush.sms.common;import org.springframework.

2017-01-11 20:40:11

使用SonarQube Scanner分析项目代码

SonarQube Scanner,作为代码扫描的工具,通过它,将项目的代码读取并发送至SonarQube服务器中,才能让SonarQube进行代码分析。 可以认为SonarQube Scanner就是SonarQube的客户端。SonarQube Scanner很方便和不同类型的构建工具进行整合与Maven项目整合Maven仓库中就有SonarQube Scanner工具的插件,只要在Setti

2017-01-08 23:33:12

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!