- 博客(75)
- 收藏
- 关注
原创 Openshift概念
Openshift是一个开源容器云平台,是一个基于主流的容器技术Docker和K8s构建的云平台。Openshift底层以Docker作为容器引擎驱动,以K8s作为容器编排引擎组件,并提供了开发语言,中间件,DevOps自动化流程工具和web console用户界面等元素,提供了一套完整的基于容器的应用云平台。Red Hat是Openshift的最大贡献者。Openshift包括社区版和企业版社区...
2018-05-01 19:17:54
4500
原创 Supervisor进程管理
Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,...
2018-05-01 19:13:55
493
原创 Systemd服务管理
Systemd是linux下的一款系统服务管理器。Systemd的特征有:支持并行化任务;同时采用socket式与D-Bus总线式激活服务;按需启动守护进程(daemon);利用Linux的cgroups监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。其中的监视和控制功能的主要命令就是systemctl。Systemd有很多不同类型的使用单元,主要包括:系统...
2018-05-01 19:12:33
681
原创 Docker私有仓库
Docker官方提供了公有的registry:Docker Hub,企业内部可自建私有仓库。常见的可以有2种方式:docker-registry或基于gitlab【registry方式】1. openssl生成证书openssl req -newkey rsa:4096 -nodes -sha256 -keyout registry-test.key -x509 -days 365 -out re...
2018-05-01 19:08:33
557
原创 Docker监控
Cadvisor是Google用来监测单节点的资源信息的监控工具。它的资源消耗也比较低。但是,它有它的局限性,它只能监控一个Docker主机。因此,如果你是多节点的话,那就比较麻烦了,你得在所有的主机上都安装一个Cadvisor,肯定特别不方便。值得注意的是,如果你使用的是Kubernetes,你可以使用heapster来监控多节点集群。Google的Kubernetes中也缺省地将其作为单节点的...
2018-05-01 18:51:41
429
原创 Docker镜像源修改
docker默认的源为国外官方源,下载速度较慢,可改为国内,加速方案一修改或新增 /etc/docker/daemon.json# vi /etc/docker/daemon.json{"registry-mirrors": ["http://hub-mirror.c.163.com"]}systemctl restart docker.service方案二修改或新增 /etc/sysconfig...
2018-05-01 18:51:07
96806
7
原创 Docker安装
1. 删除旧版yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ ...
2018-05-01 18:50:22
230
原创 Docker storage存储
docker的默认存储位置为:/var/lib/docker,可通过命令查询:# docker info | grep "Docker Root Dir"里面包括Images, containers, volumes若需要修改默认的存储位置,有3种方法:1. 软链接1)停止服务systemctl stop docker2)迁移整个/var/lib/docker目录到目的路径mv /var/lib/...
2018-05-01 18:49:38
1873
原创 Docker-image发布到Docker-hub实践
【使用Travis发布到docker-hub】Travis类似于Jenkins的一个CI,为GitHub服务,支持多数主流语言。Travis有两个网址:https://travis-ci.org/ 非盈利的,为GitHub上public的repository提供免费服务https://travis-ci.com/ 盈利的,可以对private的提供付费服务。com前100次buil
2017-09-18 23:22:04
595
原创 Linux下定时任务crontab实践
service crond start //启动crond服务ps -ef | grep crond //查看服务是否已经运行cron文件语法: //和java中的cron表达式基本一致,缺少秒,多了命令分 小时 日 月 星期 命令0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)记住几个特殊符号的含义:“*”代表取
2017-09-05 23:18:50
307
原创 Redis分布式锁详解
在互联网分布式服务部署中,通常会遇到多个进程操作同一个资源的情况,例如秒杀等,此文章主要介绍使用Redis实现分布式锁。Redis为单进程单线程模式,采用队列模式将并发访问变为串行访问。通常使用setnx(即set not exiest)来实现锁,以下通过循序渐进的方式引入最终实现。方案一1. C1通过setnx获取锁,处理业务,C1通过del释放锁问题:如果处理业
2017-09-05 23:14:32
397
原创 Docker安装Nginx环境
1. docker hub上查询 nginxdocker search nginx2. 下载最新版的 nginxdocker pull nginx3. 运行 nginxdocker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/
2017-08-23 22:12:15
3260
1
原创 nginx.conf配置详解
ginx的配置文件nginx.conf配置详解如下:user nginx nginx ;#Nginx用户及组:用户 组。window下不指定worker_processes 8;#工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。默认为1error_log logs/error.log;error_log logs/error.log notice;er
2017-08-23 22:08:30
380
原创 Spring Security实践
Spring Security提供Basic Auth的鉴权方式,在一些涉及敏感信息的场景,例如应用监控等,可引入使用。1. 配置依赖org.springframework.bootspring-boot-starter-security2. properties或yml文件配置相关参数#开关management:security:enabled:
2017-08-23 22:00:56
364
原创 Spring Cloud Sleuth+Zipkin实践
一个由微服务构成的应用系统通过服务来划分问题域,通过REST请求服务API来连接服务来完成完整业务。对于入口的一个调用可能需要有多个后台服务协同完成,链路上任何一个调用超时或出错都可能造成前端请求的失败。服务的调用链也会越来越长,并形成一个树形的调用链。随着服务的增多,对调用链的分析也会越来越复杂。针对服务化应用全链路追踪的问题,Google发表了Dapper论文,介绍了他们如何进行服务追踪分
2017-08-23 21:49:17
699
原创 Spring Boot Admin实践
Spring Boot Admin 用于监控基于 Spring Boot 的应用,包括Server和Client。Client 把自身的信息“注册”到 Server,然后就能在 Server 上看到“注册”的 Spring Boot 应用的状态信息了。【不引入spring-cloud的情况】1. Server 端1) pom.xml中引入dependency> g
2017-08-23 21:42:47
2950
原创 docker容器简介
docker容器是一个独立的系统,相比于VM,不需要绑定整个操作系统,只需要程序运行所需要的library,settins即可,更轻量级,独立、有效docker能自动化重复性的软件环境、参数配置等工作,开发人员可专注于技术研发,不需要去配置复杂的参数等image是一个轻量级、独立的、可执行的包,包含了程序运行所需要的所有东西。包括代码、library、环境变量、配置文件等
2017-07-31 23:50:36
358
原创 短地址(ShortUrl)实例
短地址,就是把长的URL转成短URL, 目前谷歌/新浪/百度/腾讯等都免费提供API服务。因调用次数限制或提供出去的url域名不是想要的,因此考虑自己实现。短址本质上是实现了一个映射函数 f: X -> Y 。而这个映射函数必须同时具有两个特点:1. 如果 x1 != x2, 则 f (x1) != f(x2);2. 对于每一个 y, 能够找到唯一的一个 x 使得 f(
2017-06-15 23:37:01
4745
原创 Spring Boot集成cache
缓存简介工作机制是:先从缓存中读取数据,如果没有再从慢速设备上读取实际数据(数据也会存入缓存);缓存什么:那些经常读取且不经常修改的数据/那些昂贵(CPU/IO)的且对于相同的请求有相同的计算结果的数据。例如Maven/京东物流都是这种思想缓存命中率即从缓存中读取数据的次数 与 总读取次数的比率,命中率越高越好:命中率 = 从缓存中读取次数 / (总读取次数[从
2017-06-15 23:05:21
440
原创 nmon使用总结
Nmon:是一个分析aix和linux性能的免费工具(其主要是ibm为自己的aix操作系统开发的,但是也可以应用在linux操作系统上)nmon_analyser:是nmon的一个工具可以把nmon生成的报告转化成excel报表的形式供我们查看。两者的结合可以把各个硬件的监控信息生成形象化的分析报表图。nmon下载http://nmon.sourceforge.net/pmwi
2017-05-02 23:28:34
580
原创 Jmeter工具使用总结
Jmeter概念是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。Jmeter下载和运行官方网站:http://jmeter.apache.org/解压后, 运行 “bin/jmeter.bat”Jmeter 是支持中
2017-05-02 23:23:36
739
原创 Spring Cloud 之断路器
Spring Cloud中使用Hystrix来实现断路器的功能。Ribbon中引入Hystrix1. pom.xml引入spring-cloud-starter-hystrix,application主类中使用@EnableCircuitBreaker,开启断路器功能。2. RestTemplate远程调用代码收敛到新的方法,在该方法上使用@HystrixCommand
2017-03-19 00:11:53
4859
原创 Spring Cloud 之负载均衡
springCloud提供2种方式的负载均衡:ribbon,feign1)Ribbon是一个基于HTTP和TCP客户端的负载均衡器。Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用。当Ribbon与Eureka联合使用时,ribbonServerList会被DiscoveryEnabledNIWSServerL
2017-03-19 00:11:19
3161
原创 Spring Cloud 之服务网关
服务网关(API GATEWAY)服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由、均衡负载功能之外,它还具备了权限控制等功能。1. 引入依赖spring-cloud-starter-zuul、spring-cloud-starter-eureka2. 启动类使用@EnableZuulProxy注解,开启Z
2017-03-19 00:10:43
1279
原创 Spring Cloud 之服务注册&发现
包括服务注册中心,服务提供方(注册服务),服务使用方(调用服务)注册中心:1. 使用spring-cloud-starter-eureka-server,主类中使用@EnableEurekaServer,开启服务注册功能,增加服务注册中心2. 配置ymlserver.port=10001eureka.client.register-with-eureka
2017-03-19 00:10:01
905
原创 Spring Cloud 之配置中心
配置服务器默认采用git来存储配置信息,也可以本地存储。配置中心配置1. pom.xml中加入spring-cloud-config-server,spring-cloud-starter-eureka2. 主类中配置@EnableConfigServer @EnableEurekaClient3. application.yml配置spring.app
2017-03-19 00:09:17
4606
原创 Spring Cloud 简介
微服务(microservice)将各功能细分成一个个服务,符合单一功能原则。微服务之间通过远程调用(RPC),springCloud为服务之间通信提供一整套解决方案,基于springCloud开发的微服务,很方便的在docker,Paas中部署,主要包括:1. 配置中心 config Server可使用git或本地文件系统存储微服务的配置文件,默认为git2. 服务发
2017-03-19 00:08:32
408
原创 OAuth2
网上关于OAuth2相关的资料非常多,推荐2篇自认为写的最详细、易懂的:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.htmlhttp://blog.youkuaiyun.com/seccloud/article/details/8192707
2017-03-19 00:07:19
310
常用的表扩展字段方案
关于表扩展字段,之前看了一些前辈的文章结合自己在实际项目中的经验,做一下总结:1. 开始设计时,增加一些reserve字段优点:简单,支持索引缺点:太少可能起不到作用,太多也不行,影响性能2. version+ext方式,即在表后面增加version,ext字段,version用来描述对应的版本,ext存放map的json数据,如{key1:value1,key2:value2...
2016-12-25 10:55:00
1677
原创 Spring Boot devtools实例
maven工程的pom.xml直接引入即可: org.springframework.boot spring-boot-devtools true原理是在发现代码有更改之后,重新启动应用,避免手动停止再启动。其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称
2016-12-25 10:40:28
365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人