自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 docker基础介绍

docker与容器Docker 是一个基于go语言开源的应用容器引擎,遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是一个基于镜像运行的实例,完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。容器和虚...

2019-06-30 21:54:30 180

原创 项目梳理系列三

查询接口性能优化 在项目中查询接口在整个系统中是占有很大比例的存在,而且往往查询接口都是大频率的调用接口,因此查询接口的性能对于系统整体负荷至关重要。 而对接口的优化无外乎就那么几招: 1. 代码的优化 2. 尽量提供缓存命中比,命中缓存的性能往往比查库的性能要高出数倍 3. 尽量减少库查询次数,在查询过程中尽量将依赖的查询接口集中,能一次查出的尽...

2019-06-22 21:48:47 242

原创 微服务和模块划分原则

微服务架构作为目前使用的主流架构,已经被广泛使用,但是对于服务的划分却没有固定的原则,在工作中也经常会出现服务划分过度或者不充分的情况。所以在这里想探讨一下服务边界和服务划分的方法。 微服务设计四个原则:AKF拆分原则 AKF扩展立方体(参考《The Art of Scalability》),是一个叫AKF的公司的技术专家抽象总结的应用扩展的三个维度。理论上按照这三个扩展...

2019-06-22 21:46:10 18571 1

原创 项目梳理系列一

最近发现在工作中很缺少梳理和总结,决定近期对之前的工作项目做一下梳理和总结,这一篇是开篇之作,主要想介绍一下刚参加工作时的项目。 我从14年毕业开始进入华为,最开始是分在电信软件BU,14年的时候移动互联网已经是如火如荼了,那个时候对于电信行业来说不是什么好的年份,由于刚经历过一系类互联网社交软件的攻防战,电信行业沦为流量中间商只能收取流量费的时代已经由口号慢慢的走进现...

2019-03-17 18:29:29 1449

原创 jetty处理过程

请求流程:发现一个新的连接创建EndPoint创建Connection创建HttpParser创建HttpGenerator发现Channel中有数据启动数据解析尝试解析可用的请求尝试解析下一个可用的请求请求头解析完毕根据是否有请求体,决定是否即可开始请求处理把请求交给Server处理Server把请求交给HandlerCollection处理标记请求处理结束刷新可能...

2019-01-13 16:57:46 474

原创 jetty架构及工作原理

1. jetty 是什么jetty是一个轻量级的servelt容器,是一个提供HHTP服务器、HTTP客户端和javax.servlet容器的开源项目。2. 和tomcat比较2.1 架构层面Jetty的架构比Tomcat的更为简单Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。Tomcat的架构是基于容器设计的,进行扩展...

2019-01-13 16:11:29 6987

原创 java内存管理

一. 概述     对于C++程序开发人员来说,每一块内存都需要自己来进行维护,需要管理每个对象的生老病死。对于每个对象的new操作,都需要有对应的Delete/free操作来保证内存的释放,否则有可能就会产生内存泄漏。 对于java程序的开发人员则不需要这样具体关心内存的分配和使用。java自带了内存管理机制,会自动的对内存进行管理,不易出现内存泄漏的情况。但是程序开发人员需要对

2017-06-18 18:51:39 187

原创 kubernetes scheduler 启动过程及调度过程

2017-06-04 18:02:30 683

原创 kubernetes 概念介绍二

第一篇主要介绍了k8s的几个大的组件,kube-apiserver,scheduler,kubelet等,本文接着第一篇继续对kubernetes的一些组件进行介绍。podkubernetes的基本管理单位,可以包含一个或多个container,pod运行在具体的node节点上,kubernetes通过scheduler模块来对pod进行调度,已决定具体pod具体运行在那个节点上。具体

2017-06-04 16:40:46 1286

原创 docker和k8s基本操作

docker 主要操作命令:docker images  列出当前所有的镜像docker build  imageName    根据当前dockfile构建镜像docker commit containId imageName 根据容器containId构建一个镜像docker tag imageName  tag  给一个镜像打Tagdocker cp file  cont

2017-05-14 16:48:26 6609

原创 k8s scheduler不同namespace同名node节点调度异常

上一篇文章中说到k8s是一个主从架构,接口管理和调度模块都在主节点上,node节点作为kubernetes的从节点,负责实际的pod管理。在创建Pod时决定Pod创建在那个node节点上则是由scheduler模块来进行调度。 目前工作中用的kubernetes版本为1.5版本,在使用过程中发现存在同名节点导致调度异常的问题,这周仔细研究了下kubernetessche...

2017-05-14 15:50:31 2271

原创 kubernetes 概念介绍

最近一个月因为工作调动的原因开始研究kubernetes,这一个月通过文档和代码对k8s有了个大概的理解,趁着周末难得的空闲,记录下自己的理解。        谈kubernetes的话就必须要先了解容器,容器技术目前k8s默认支持的也是业界用的最广的莫过于docker了,Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流

2017-05-06 16:37:06 708

原创 java 常用集合类总结

在平常的代码开发中,集合类是经常会使用到的,比如用于列表缓存的ArrayList,用于做映射关系的Map等等最近重点看了下java集合类的层次继承关系和内部存储结构,做个总结以便后面可以随时翻翻。       java中的集合,不管是List,Set,还是Map,都是继承自collection接口,这个接口主要定义了集合类的一些公关方法,比如isEmpty(), remove(),

2017-05-06 14:24:01 4257 2

原创 java线程池管理

在java 5中引入了Executor框架实现对线程池的管理,放在java.util.cocurrent目录下,通过这个这个框架来实现线程的启动,执行和关闭,可以简化并发编程的操作。  Executor框架包含线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable 等。 Executors提供了一系列

2016-06-29 20:00:31 369

原创 java与C++的区别

我们知道java晚于C++出现,是基于C++的基础上重新设计的一门高级面向对象的语言,所以java摈弃了C++中的一些比较难用的特性,java相对与C++也更加轻巧,语法更清晰,更易学。他们的共同点很多,有C++基础的人学习java会简便很多,相比较而言,java的编程环境更加简单点。下面列出几个比较显著的不同点:1. java是解析性语言而C++是编译型语言,java在执行的时候是有jv

2016-06-22 20:19:27 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除