- 博客(168)
- 收藏
- 关注
原创 日志输出规范
生产和测试环境中需要日志来记录、跟踪和分析系统的运行状态,但是有太多带有杂讯的日志又会影响跟踪,甚至可能对系统的运行带来影响。我们需要怎样的日志可以被记录、跟踪、分析和归档了解系统运行的必要信息,方便排查和分析最小化对系统性能的影响Java日志实践 Log4j等日志框架默认info级别以上,不建议在生产环境打开debug级别的日志 等级 适用范围 Fatal 严重的,造成服
2017-02-24 15:50:32 5390 1
原创 大众点评cat接入记录
背景因为公司api接口时不时的被人攻击,频繁的撞库,所以需要一套完整的监控体系来管理所有的接口。组内其他人正在快速迭代一个初期的监控报警体系,而我闲着没事就顺便看了下大众点评的cat,刚好以前的同事他们公司的目前使用的架构里面就用到了cat,大大加深了我想研究的心。cat能查到的文档太少了,可能是官网提供的文档足够使用了,但是对于小白用户来说,官网的文档还是需要一些实际代码的理解,不过等细入之后才发
2016-07-14 14:02:02 16861 5
原创 mysql主从复制配置记录
主库配置文件修改#唯一。主从的server_id值不一样server-id = 1log_bin = /var/log/mysql/mysql-bin.log#需要进行主从复制的数据库名称binlog_do_db = master#不需要进行主从复制的数据库名称binlog_ignore_db
2016-07-05 16:40:10 770
原创 kafka配置文件记录
# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work for additional information regarding copyright o
2016-07-05 09:44:01 1134
原创 springboot多数据源读写分离和主库数据源service层事务控制
读写分离如果撇开框架无非就是实现多个数据源,主库用写的数据源,从库用读的数据源。因为想研究数据库读写分离和分库分表的设计,所以就自己搭建了一套springboot+druid+mybatis+aop 实现一主多从的设计。 第一步:首先需要自定义数据源的配置项,springboot默认解析的是带前缀spring.datasource.下面的配置项,为了不冲突,就直接定义datasource.当成我
2016-05-31 10:57:10 36526 10
原创 docker+jenkins+git持续部署实践
写在前面以前搭建spring-cloud的时候 看到别人代码里面总有Dockerfile,然后了解到docker容器的概念,玩了两个星期玩不下去了,就放下了,无意间在网上看到一篇文章Docker持续部署,就想着自己也搭建一套玩玩。流程网上那篇文章介绍的流程涉及到多个docker镜像,我这里为了入门就简单化了。 自动化部署效果就是: 你修改了本地的代码 然后push到git上面,git的w
2016-04-14 16:44:10 16372 1
原创 springboot-Developer tools开发者福利
概述Developer tools 提供了一些小功能,方便开发者,如监控classpath下面的文件变化,自动进行热加载和远程更新功能自动重启maven配置方式<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devto
2016-03-28 08:51:24 2752
原创 springboot 日志
日志默认模板如果使用pom里面引用了”Starter POMs“的架包,将会使用logback作为日志框架2016-03-24 15:22:06.991 INFO 13780 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (
2016-03-24 18:17:03 1725
原创 springboot碎碎念
springboot快速了解英语好的看官网: http://projects.spring.io/spring-boot/ 不好的看ibm中文网站: http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/Spring Boot 包含的特性如下:创建可以独立运行的 Spring 应用。直接嵌入 Tomcat 或 J
2016-03-24 15:31:52 607
原创 mysql死锁
mysql死锁:1、查询是否锁表show OPEN TABLES where In_use > 0; 2、查询进程 show processlist 查询到相对应的进程===然后 kill id相同表,a命令行mysql> set autocommit=off;Query OK, 0 rows affectedmysql> u
2016-03-23 14:47:38 956
转载 一小时Docker教程
Docker基础这篇基础文章是方便用户在使用cSphere平台之前,了解docker基础知识。针对已经有一定的Linux基础知识的用户。Docker是什么Docker是一个改进的容器技术。具体的“改进”体现在,Docker为容器引入了镜像,使得容器可以从预先定义好的模版(images)创建出来,并且这个模版还是分层的。Docker经常被提起的特点:
2016-03-11 10:08:11 1543
原创 mysql开启慢查询
开启慢查询如果不知道怎么优化mysql,不如开启mysql的慢查询功能, 记录那些sql执行比较慢,生成环境不能随便设置,会影响性能的 命令show variables like"%slow%";执行慢查询select * from usertb LIMIT 400000查询日志慢查询日志路径 slow_query_log_file /var/lib/mysql/master-slow.log
2016-03-10 15:08:17 473
原创 dubbo产生背景
服务治理,服务注册与发现,服务URL配置管理,服务间依赖关系,服务的调用量越来越大,服务的容量问题就暴露出 服务的权重 Dubbo服务集群容错 Dubbo服务负载均衡在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。(1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器
2016-02-26 09:12:41 1328
转载 微服务(Microservice)架构快速指南
1. 什么是软件架构? 软件架构是一个包含各种组织的系统组织,这些组件包括 Web服务器, 应用服务器, 数据库,存储, 通讯层), 它们彼此或和环境存在关系。 2.什么是微服务架构? 微服务是指开发一个单个 小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。 微服务也指一种种松耦合的、有一定的有界上下文的面向服务架构
2016-02-25 17:27:10 1520
原创 单例模式的各种写法
面试的时候被问道了,长时间不用就当记录下吧懒汉模式public class Singleton { private static Singleton instance; private Singleton (){} public static synchronized Singleton getInstance() { if (instance == null) {
2016-02-24 18:07:22 645
原创 docker安装
安装安装步骤:https://docs.docker.com/linux/step_one/ 官网推荐的安装步骤已经很详细了,这里只是总结下安装过程遇到的坑1. 首先需要升级内核版本因为我用的是阿里云的服务器 内核版本比较低,Docker需要在3.8以上运行 查看系统版本命令 uname -a 或者uname -rdocker 升级内核的步骤:https://docs.do
2016-02-23 10:31:05 812
转载 http协议
什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器,HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 目前我们使用的是HTTP/1.1 版本 Web服务器,浏
2016-02-22 10:11:45 742
原创 socket编程
网络传输协议概念TCP/IP Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socke
2016-02-22 09:32:13 486
转载 集成maven和Spring boot的profile功能
由于项目的需要, 今天给spirng boot项目添加了profile功能。再网上搜索了一圈,也没有找到满意的参考资料,其实配置并不难,就是没有一个one stop(一站式)讲解的地方,所以有了写这篇博客的想法。由于本人水平有限,文中任何错误和纰漏欢迎大家反馈。希望本文可以给你带来帮助。 本文实现的目标: 1 使用了maven的profile功能
2016-02-19 16:10:40 1974 1
原创 instanceof与isInstance,isAssignableFrom
辨析一个类和一个实例是不是具有实现关系,通常使用 instanceOF和Class.isInstanceOf(obj),为了能够更好的使用这两种检测方式,我们需要知道两者的差别。?A a=new A();B b=new B();System.out.println(a instanceof PInterface);//a 是不是实现PInterfaceSystem.ou
2016-02-19 11:20:07 456
原创 springbean声明周期
1:Bean的建立:容器寻找Bean的定义信息并将其实例化。2:属性注入:使用依赖注入,Spring按照Bean定义信息配置Bean所有属性3:BeanNameAware的setBeanName():如果Bean类有实现org.springframework.beans.BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。
2016-02-19 10:46:30 446
原创 nginx官网配置
https://www.nginx.com/resources/wiki/start/topics/examples/full/nginx.confuser www www; ## Default: nobodyworker_processes 5; ## Default: 1error_log logs/error.log;pid
2016-02-18 15:39:37 1127
原创 Nginx安装配置与服务搭建
下载安装与配置下载地址:http://nginx.org/en/download.html linux环境下: wget http://nginx.org/download/nginx-1.8.1.tar.gz 解压与编译: tar zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1 ./configure make sudo make install下载依赖
2016-02-18 11:25:58 777
原创 高并发网站一些记录
没做过不代表不能了解,只是记录下。高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态服务器。以此类推:能不访问数据库和存储就一定不要去访问数据库和存储。第三层:cdn,页面静态化第五层:数据库cache层,比如:me
2016-02-17 15:35:04 727
原创 ZooKeeper的安装
zookeeper集群模式下,除了 clientPort 不同之外, dataDir 也不同。另外,不要忘记在 dataDir 所对应的目录中创建 myid 文件来指定对应的 zookeeper 服务器实例。
2016-02-15 14:29:02 416
转载 zookeeper入门与实战
1. zookeeper介绍ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。Zookeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zo
2016-02-15 14:12:26 1213
原创 zookeeper自己的理解
zookeeper=文件系统+通知机制 zookeeper可以维护一个类似类似文件系统的数据结构,比如: 传统场景: 有10台服务器,每台上面部署10个相同的项目,如果项目里面有一个配置文件config.xml,如果项目对config.xml里面的值修改,更新的时候 我们需要同步更新这10台服务器,这是一件很痛苦的事情,以前做城管软件就是,上线升级都是好几十台服务器,遇到bug,解决之后还要
2016-02-15 14:11:50 824
原创 kafka-0.9.0.0安装和使用
quickstart安装和用: http://kafka.apache.org/documentation.html#quickstartlinux下面: wget http://apache.opencas.org/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz tar -xzvf kafka_2.11-0.9.0.0.tgz
2016-02-15 10:41:57 4303
原创 Ubuntu下面安装mysql
命令直接安装客户端和服务端,安装过程会提示输入两次密码,默认用户是rootsudo apt-get install mysql-server mysql-client 测试是否安装成功sudo netstat -tap | grep mysql mysql常用命令启动或者关闭服务: 登陆:mysql -u root -p重启服务 service mysql restart启动MySQL服
2016-01-28 17:30:02 704
原创 springcloud碎碎念
spring-cloud初步了解: Spring Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性 Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。使用 Spring Cloud 开发者可以快速实现上述这些模式。 官网介绍:http://projects.spring.io/spring-cloud/ 官方文
2016-01-27 15:15:49 6214 2
转载 如何利用Spring Cloud构建起自我修复型分布式系统(1)
利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们也能轻松举出由其带来的诸多比较优势。然而,我们必须清醒意识到的是,一旦开始遵循微服务思路而对现有架构体系进行拆分,就意味着我们将不可避免地进入分布式系统领域。在之前的文章中我们曾经探讨过分布式计算的八大认识误
2016-01-20 17:00:14 2979
原创 springboot备用记录
springboot 英文文档地址: spring-boot-document自定义 auto-configuration: Creating your own auto-configuration actuator收集器 spring boot 一些注解的介绍@EnableAutoConfiguration Spring Boot 对于开发人员最大的好处在于可以对 Spring 应用进行
2016-01-20 16:39:02 785
原创 开发环境eclipse向idea转变记录。
背景eclipse从开始接触代码就一直使用,自己呆过的公司基本多事使用eclipse或者myeclipse的,但是不代表没有公司不使用idea,至于idea的好处,只有自己用了才知道,磨合新的开发环境路很漫长,反正不会就问度娘,顺便记录下查到的结果。#快捷键记录: main方法快捷键,输出快捷键 eclipse : main sys idea:psvm,sout
2016-01-15 09:48:36 878
转载 基于Spring可扩展Schema提供自定义配置支持
在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个不错
2016-01-12 19:21:47 412
转载 Maven简介(三)——profile介绍
可以通过定义maven不同的profile,来实现打包时候加载不同的配置文件4 profile介绍4.1 profile简介profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1
2016-01-12 10:54:49 646
转载 40个Java 多线程问题总结
前言 java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是
2016-01-07 18:44:12 633
转载 微服务:分解应用以实现可部署性和可扩展性
本文描述了日渐流行的微服务架构模式。微服务背后大的理念是将大型、复杂且历时长久的应用在架构上设计为内聚的服务,这些服务能够随着时间的流逝而演化。微服务这个术语强烈建议服务应该是很小的。社区中有些人甚至建议构建10-100代码行(LOC)的服务。但是,尽管很小的服务是我们想要的,但这不应该是主要的目标。你应该致力于将系统分解为服务,以解决下面所讨论的开发和部署问题。一些服务可能确实会很微小,
2016-01-05 12:27:59 1069
转载 六种微服务架构的设计模式
前不久,Java Code Geeks发表了一篇文章,分析单体应用与微服务的优缺点。近日,该网站又发表了一篇文章,提供了六种微服务架构的设计模式。聚合器微服务设计模式这是一种最常用也最简单的设计模式,如下图所示:聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对检索到的数据增加业
2016-01-05 11:22:03 822
转载 详述微服务架构的优势与不足
本文来自Nginx官方博客,是微服务系列文章的第一篇,主要探讨了传统的单体式应用的不足,以及微服务架构的优势与挑战。正如作者所说,微服务架构更适合用于构建复杂的应用,尽管它也有自己的不足。这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFoundry.com的创始人。现在他为企业提供如何开发和部署应用的咨询服务。他也经常在ht
2016-01-05 11:20:02 1488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人