`
文章列表
按照 actuator  的使用方法,项目中添加下面的依赖。 <!--整合springboot监控工具 actuator-->         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-actua ...
The spring cloud version is:Finchley.SR2 总API doc:https://cloud.spring.io/spring-cloud-static/Finchley.SR2/multi/multi_spring-cloud.html EurekaAPI:https://cloud.spring.io/spring-cloud-static/Finchley.SR2/multi/multi_spring-cloud-eureka-server.html 在Eureka的server选择上,本次完全遵从 ...
先说结论:结合某大型医院的真实架构考虑设计,最终还是决定选用Eureka. 具体原因: 对比 在分布式系统中有个著名的CAP定理(C-数据一致性;A-服务可用性;P-服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能同时满足,最多同时满足两个); Zookeeper Zookeeper是基于CP来设计的,即任何时刻对Zookeeper的访问请求能得到一致的数据结果,同时系统对网络分割具备容错性,但是它不能保证每次服务请求的可用性。从实际情况来分析,在使用Zookeeper获取服务列表时,如果zookeeper正在选主,或者Zookeeper集群中半数以上机器不可用,那么将无法获得 ...

分布式主键选择

实现动机 传统数据库软件开发中,主键自动生成技术是基本需求。而各个数据库对于该需求也提供了相应的支持,比如MySQL的自增键,Oracle的自增序列等。 数据分片后,不同数据节点生成全局唯一主键是非常棘手的问题。同一 ...

DevOps

DevOps简介   DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。     DevOps的概念 DevOps一词的来自于Development和Operations的组合 ...
spring中拦截器主要分两种,一个是HandlerInterceptor,一个是MethodInterceptor 一、HandlerInterceptor HandlerInterceptor是springMVC项目中的拦截器,它拦截的目标是请求的地址,比MethodInterceptor先执行。   1、创建我们自己的拦截器类并实现 HandlerInterceptor 接口或继承HandlerInterceptorAdapter。2、创建一个Java类继承WebMvcConfigurerAdapter,并重写 addInterceptors 方法。3、实例化我们自定义的拦截器 ...
很多时候为了重用我们会想要重置一个ArrayList,这里的重置是指清空列表或移除列表所有的元素。在Java中,有两个方法可以帮助我们实现重置clear或removeAll。在列表长度很小的情况下(eg:10或100个元素),可以放心的使用这两种方 ...
最近在使用JPA的时候发现了,有lombok存在的时候,使用JPA查询出来的嵌套对象无法正确转换成JSON。我们先来复现这个问题:1. 非常简单的entity,用过hibernate的都懂,里面的嵌套1对多对象是Code。可以看到@NoArgsConstructor@AllArgsConst ...
缘起 线上有Tomcat升级到7.0.52版,然后有应用的JVM FullGC变频繁,在高峰期socket连接数,Cpu使用率都暴增。 思路 思路是Tomcat本身的代码应该是没有问题的,有问题的可能是应用代码升级,或者环境改变了,总之Tomcat的优先级排在最后。 先把应用的heap dump下来分析下: jmap -dump:format=b,file=path pid 用IBM的Heap Analyser分析,发现dubbo rpc调用的RpcInvocation对象和taglibs的SimpleForEachIterator对象占用了很大部分内存。
背景 从传统的单体应用转型Spring Cloud的朋友都在问我,Spring Cloud下的微服务权限怎么管?怎么设计比较合理?从大层面讲叫服务权限,往小处拆分,分别为三块:用户认证、用户权限、服务校验。 用户认证 传统的单体应用可能习惯了session的存在,而到了Spring cloud的微服务化后,session虽然可以采取分布式会话来解决,但终究不是上上策。开始有人推行Spring Cloud Security结合很好的OAuth2,后面为了优化OAuth 2中Access Token的存储问题,提高后端服务的可用性和扩展性,有了更好Token验证方式JWT(JSON Web ...
    最近方向想研究下缓存层面的东西。   转发一篇   在高访问量的web系统中,缓存几乎是离不开的;但是一个适当、高效的缓存方案设计却并不容易;所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型、常见缓存系统的特点和数据指标、缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速、系统的了解相关知识。   数据库的瓶颈   1 数据量   关系型数据库的数据量是比较小的,以我们常用的MySQL为例,单表数据条数一般应该控制在2000w以内,如果业务很复杂的话,可能还要低一些。即便是对于Oracle这些大型商 ...

Spark相关

华为项目 Spark相关   一、Spark简介   1、什么是Spark     发源于AMPLab实验室的分布式内存计算平台,它克服了MapReduce在迭代式计算和交互式计算方面的不足。     相比于MapReduce,Spark能充分利用内存资源提高计算效率。   2、Spark计算框架     Driver程序启动很多workers,然后workers在(分布式)文件系统中读取数据后转化为RDD(弹性分布式数据集),最后对RDD在内存中进行缓存和计算            

Hbase相关

博主最近onsite在华为那边,写的是Hbase及Spark   发些相关文章   1、搭建环境 部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放Hadoop等组件运行包。因为该目录用于安装hadoop等组件程序,用户对shiyanlou必须赋予rwx权限(一般做法是root用户在根目录下创建/app目录,并修改该目录拥有者为shiyanlou(chown –R shiyanlou:shiyanlou /app)。 Hadoop搭建环境: l 虚拟机操作系统: CentOS6.6 64 ...

harbor+shipyard 部署

harbor:https://github.com/vmware/harbor/ shipyard :https://github.com/shipyard/shipyard   关于两者介绍小伙伴们自行取查咯。 废话不多直接开搞。先给线上测试服务器装上harbor,作为我们那以后的docker image的远程仓库,供各环境下载。   在harbor官方https://github.com/vmware/harbor/releases上下载最新的安装包   harbor-offline-installer-v1.1.2.tgz   这里我选择的是离线安装包,直接上传到测 ...
最近准备自学mongodb集群的相关知识 鉴于项目部署已经全面使用docker,故准备将mongodb集群放在容器中   系统:   cat /etc/issue Ubuntu 16.04.2 LTS \n \l  宿主环境是ubuntu 16.04.2   docker的相关安装不在介绍,docker-compose相关也不 ...
Global site tag (gtag.js) - Google Analytics