- 博客(84)
- 资源 (60)
- 收藏
- 关注
转载 基于Dubbo框架构建分布式服务
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选
2018-03-29 09:36:58 260
翻译 JVM参数配置大全
/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -XX:GCTimeRati
2018-03-13 14:29:52 173
翻译 深入理解Java中的String
一、String类想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码:public final class String implements java.io.Serializable, Comparable<String>, CharSequence{ /** The value is used for character stor...
2018-03-12 16:05:06 280
转载 推荐系统的架构
本文从互联网收集并整理了推荐系统的架构,其中包括一些大公司的推荐系统框架(数据流存储、计算、模型应用),可以参考这些资料,取长补短,最后根据自己的业务需求,技术选型来设计相应的框架。后续持续更新并收集。。。 图1 界面UI那一块包含3块东西:1) 通过一定方式展示推荐物品(物品标题、缩略图、简介等);2) 给的推荐理由;3) 数据反馈改进个性化推荐;关于用户数据的
2018-03-10 06:25:12 4874 1
翻译 docker1.12安装配置及使用笔记
官方安装手册地址:https://docs.docker.com/engine/installation/linux/ubuntulinux/使用的操作系统是是ubuntu14.04,按照官方的推荐的配置(其他操作系统,多少有点区别请参考官方文档)。安装步骤如下:1、检查内核版本1uname -r #把linux内核升级到3.10以上
2018-03-10 06:25:11 1475
转载 Docker数据卷
数据卷是一个可以供一个或多个容器使用的特殊目录。 可以达到以下目的: 1. 绕过“拷贝写”系统,以达到本地磁盘IO的性能,(比如运行一个容器,在容器中对数据卷修改内容,会直接改变宿主机上的数据卷中的内容,所以是本地磁盘IO的性能,而不是先在容器中写一份,最后还要将容器中的修改的内容拷贝出来进行同步。) 2. 绕过“拷贝写”系统,有些文件不需要在docker commit打包进镜像文件。
2018-03-10 06:25:01 334
翻译 Linux iptables常用命令
iptables 是 Linux 中重要的访问控制手段,是俗称的 Linux 防火墙系统的重要组成部分。这里记录了iptables 防火墙规则的一些常用的操作指令。下面的操作以 CentOS 为基础介绍,应该对不同的 Linux 发行版都差不多。在 CentOS 5.x 和 6.x 中,iptables 是默认安装的(如果没有安装,先安装 iptables 即可)。如果对 iptabl
2018-03-10 06:24:55 331
转载 docker 下 alpine 镜像设置时区的有效办法
在使用Docker的时候,由于很多基础linux镜像都比较大,alpine这个仅仅几兆的linux基础镜像受到了很多人喜欢,笔者也不例外,可是由于alpine中的一些配置及命令与常见的centos等系统在一些方面不一样,下面来看看时区问题是如何解决的:原因:alpine中,原生是不带时区相关的命令及文件的,需要安装额外的包来支持,然后需要将时区文件内容替换为localtime文件解决办
2018-03-10 06:24:49 3134
转载 基于 CentOS7 的 Kubernetes 集群
一、环境相关主机master192.168.12.197minion192.168.12.198~232etcd192.168.12.233~236相关软件OSCentOS 7软件版本:kubernetes-0.19.3etcd-2.0.9-2.el7.x86_64docker-1.6.0-11.0.1.el7.cen
2018-03-09 07:00:37 207
转载 Docker如何为企业产生价值?
一个 IT 系统大致可以分为:应用程序运行时平台(bin/framework/lib)操作系统硬件(基础设施)开发人员的主要工作是应用程序的编码、构建、测试和发布,涉及应用程序和运行时平台这两层。而运维人员的工作则涉及从硬件、操作系统到运行时平台的安装、配置、运行监控、升级和优化等工作。云计算最主要的价值体现在实现了自动化运维。提高资源的利用效率,是较为次要的价值。
2018-03-09 07:00:31 700
翻译 kubernetes
docker仅能在单机上部署容器,而kubernetes可以统一管理各类容器,形成集群。Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的开源版本。Kubernetes支持GCE、vShpere、CoreOS、Azure等平台,也可以直接运行在物理机上。 Kubernetes非常适合做微服务的架构。其主要功能如下:1) 用户不需要关心需要多
2018-03-09 07:00:22 297
翻译 Docker命令详解
# docker --helpUsage: docker [OPTIONS] COMMAND [arg...]docker daemon [ --help | ... ]docker [ -h | --help | -v | --version ]A self-sufficient runtime for containers.Options:--config=~/.doc
2018-03-09 07:00:22 257
原创 Docker 有什么优势?
1.什么是容器? 依托与linux 内核功能的虚拟化技术2. docker 是什么? 能够把应用程序自动部署到容器的开源引擎3. docker 跟原有的工具有何区别?传统的部署模式是:安装(包管理工具或者源码包编译)->配置->运行;Docker的部署模式是:复制->运行。4. docker 会对服务器端开发/部署带来什么变化? 实现更轻量级的虚拟化,方便快速
2018-03-09 07:00:19 24231 1
转载 理解Docker容器的进程管理
摘要: Docker在进程管理上有一些特殊之处,如果不注意这些细节中的魔鬼就会带来一些隐患。另外Docker鼓励“一个容器一个进程(one process per container)”的方式。这种方式非常适合以单进程为主的微服务架构的应用。然而由于一些传统的应用是由若干紧耦合的多个进程构成的,这些进程难以Docker在进程管理上有一些特殊之处,如果不注意这些细节中的魔鬼就会带来一些隐患。
2018-03-09 07:00:17 3580
转载 Docker之Linux Namespace
Linux Namespace 介绍我们经常听到说Docker 是一个使用了Linux Namespace 和 Cgroups 的虚拟化工具,但是什么是Linux Namespace 它在Docker内是怎么被使用的,说到这里很多人就会迷茫,下面我们就先介绍一下Linux Namespace 以及它们是如何在容器里面使用的。概念Linux Namespace 是kernel 的一个功能
2018-03-09 07:00:14 921
翻译 Docker之Linux Cgroups
Linux Cgroups介绍上面是构建Linux容器的namespace技术,它帮进程隔离出自己单独的空间,但Docker又是怎么限制每个空间的大小,保证他们不会互相争抢呢?那么就要用到Linux的Cgroups技术。概念Linux Cgroups(Control Groups) 提供了对一组进程及将来的子进程的资源的限制,控制和统计的能力,这些资源包括CPU,内存,存储,网络等。通
2018-03-09 07:00:08 264
翻译 Docker之Linux UnionFS
UnionFSUnionFS是一种为Linux,FreeBSD和NetBSD操作系统设计的把其他文件系统联合到一个联合挂载点的文件系统服务。它使用branch把不同文件系统的文件和目录“透明地”覆盖,形成一个单一一致的文件系统。这些branches或者是read-only或者是read-write的,所以当对这个虚拟后的联合文件系统进行写操作的时候,系统是真正写到了一个新的文件中。看起来这个虚
2018-03-09 07:00:07 1877 1
转载 Ubuntu14.04下安装docker 1.9
以下几种方式:1. 通过系统自带包安装(可能不是最新版)$ sudo apt-get update $ sudo apt-get install -y docker.io $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker $ sudo sed -i '$acomplete -F _docker docker' /etc/
2018-03-09 07:00:02 255
转载 kubernetes学习笔记
docker实现了更便捷的单机容器虚拟化的管理, docker的位置处于操作系统层与应用层之间;相对传统虚拟化(KVM,XEN):docker可以更加灵活的去实现一些应用层功能, 同时对资源的利用率也更高相对应用:docker可以把应用更操作系统(镜像)做更好的结合, 降低部署与维护的的成本处于这样一个位置在单机使用docker进行业务部署是可以感觉到质的提升; 但
2018-03-08 08:43:32 325
转载 Google Kubernetes设计文档之服务篇
摘要:Kubernetes是Google开源的容器集群管理系统,构建于Docker之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等功能。 Pod是创建、调度和管理的最小部署单位,本文详细介绍这些Pod之间的通信和调度 概述Kubernetes中 Pods 不是一成不变的。它们可以随着时间进行迁移,特别是当受到ReplicationControllers 支配时。虽然每个
2018-03-08 08:43:29 171
转载 基于kubernetes构建Docker集群管理详解
一、前言 Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件,目前最新版本为0.6.2。本文介绍如何基于Centos7.0构建Kubernetes平台,在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能。以下为Kubernetes的架构设计图:
2018-03-08 08:43:22 1481 1
转载 Maven Docker镜像使用技巧
摘要: Maven是目前最流行的Java项目管理工具之一,提供了强大的包依赖管理和应用构建功能。本文以Maven为例介绍了Docker在应用构建中的一些常见技巧。Maven是目前最流行的Java项目管理工具之一,提供了强大的包依赖管理和应用构建功能。Docker提供了官方的Maven镜像可以用于管理和构建Java应用。与直接安装使用Maven工具相比,使用Docker镜像具有更好的
2018-03-08 08:43:17 423
翻译 Docker背景介绍
背景介绍Docker是PasS提供商DoctCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker近期非常火热,无论是从Github上的代码活跃度,还是Redhat在REHEL6.5中集成对Docker的支持,就连Google的Compute Engine也支持docker在意之上运行,百度、阿里、新浪、京东也开
2018-03-08 08:43:17 2098
转载 Pass云Docker介绍
1.Docker 简介Docker是一个开源可以将任何应用包装在”LXC容器”中运行的工具。如果说VMware,KVM包装的虚拟机,Docker包装的是应用。是一个实至名归的PaaS。当应用被打包成Docker Image后,部署和运维就变得极其简单。可以使用统一的方式 来下载,启动,扩展,删除,迁移。 Dock可以用来:自动化打包和部署任何应用创建一
2018-03-08 08:43:12 4069
转载 docker容器网络通信原理分析
概述自从docker容器出现以来,容器的网络通信就一直是大家关注的焦点,也是生产环境的迫切需求。而容器的网络通信又可以分为两大方面:单主机容器上的相互通信和跨主机的容器相互通信。而本文将分别针对这两方面,对容器的通信原理进行简单的分析,帮助大家更好地使用docker。docker单主机容器通信基于对net namespace的控制,docker可以为在容器创建隔离的网络环境,在隔离的网
2018-03-08 08:43:11 551
翻译 Dockerfile 最佳实践(二)
虽然 Dockerfile 简化了镜像构建的过程,并且把这个过程可以进行版本控制,但是不正当的 Dockerfile 使用也会导致很多问题:docker 镜像太大。如果你经常使用镜像或者构建镜像,一定会遇到那种很大的镜像,甚至有些能达到 2G 以上docker 镜像的构建时间过长。每个 build 都会耗费很长时间,对于需要经常构建镜像(比如单元测试)的地方这可能是个大问题重复劳动。多次镜
2018-03-08 08:42:56 294
转载 如何设置Docker容器中Java应用的内存限制
如果使用官方的Java镜像,或者基于Java镜像构建的Docker镜像,都可以通过传递 JAVA_OPTS 环境变量来轻松地设置JVM的内存参数。比如,对于官方Tomcat 镜像,我们可以执行下面命令来启动一个最大内存为512M的tomcat实例docker run --rm -e JAVA_OPTS='-Xmx512m' tomcat:8在日志中,我们可以清楚地发现设置已经生效
2018-03-08 08:42:52 7079
转载 Docker 镜像加速器
Docker 镜像加速器我们使用Docker的第一步,应该是获取一个官方的镜像,例如mysql、wordpress,基于这些基础镜像我们可以开发自己个性化的应用。我们可以使用Docker命令行工具来下载官方镜像。但是因为网络原因,我们下载一个300M的镜像需要很长的时间,甚至下载失败。因为这个原因,阿里云容器Hub服务提供了官方的镜像站点加速官方镜像的下载速度。使用镜像加速器在不同
2018-03-08 08:42:52 176
转载 深入理解Docker Volume(二)
一开始,认为Volume是用来持久化的,但是这实际上不对,因为认为Volume是用来持久化的同学一定是认为容器无法持久化,所以有了Volume来帮助容器持久化,事实上,容器会一直存在,除非你删除他们. 容器是持久的,直到你删除他们,并且你只能这么做: $docker rm my_contariner 如果你没有执行此命令,那么你的容器会一直存在,依旧可以启动,停止
2018-03-07 17:21:55 154
翻译 linux下brctl配置网桥
设置linux让网桥运行 配置网桥我们需要让linux知道网桥,首先告诉它,我们想要一个虚拟的以太网桥接口:(这将在主机bridge上执行,不清楚的看看测试场景)root@bridge:~> brctl addbr br0其次,我们不需要STP(生成树协议)等。因为我们只有一个路由器,是绝对不可能形成一个环的。我们可以关闭这个功能。(这样也可以减少网络环境的数据包污染):ro
2018-03-07 17:21:42 9091 1
翻译 六大主流大数据采集平台架构分析
日志收集的场景DT时代,数以亿万计的服务器、移动终端、网络设备每天产生海量的日志。中心化的日志处理方案有效地解决了在完整生命周期内对日志的消费需求,而日志从设备采集上云是始于足下的第一步。随着大数据越来越被重视,数据采集的挑战变的尤为突出。今天为大家介绍几款数据采集平台:Apache FlumeFluentdLogstashChukwaScribeSplunk Forwar
2018-03-07 17:21:38 17109 1
翻译 Linux下的ip命令
linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。Net tools vs Iproute2要安装ip,请点击这里下载iproute2套装
2018-03-07 17:21:34 8510
转载 深入理解Docker Volume(一)
想要了解Docker Volume,首先我们需要知道Docker的文件系统是如何工作的.Docker镜像是由多个文件系统(只读层)叠加而成.当我们启动一个容器的时候,Docker会加载镜像层并在其上添加一个读写层.如果运行中的容器修改了现有的一个已存在的文件,那该文件将会从读写层下的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏.当删除Docker容器,并通过该
2018-03-07 17:21:31 892
转载 Dockerfile最佳实践(一)
1.使用缓存 Dockerfile的每条指令都会将结果提交为新的镜像,下一跳指令将会基于上一步指令的镜像的基础上构建,如果一个镜像存在相同的父镜像和指令(除了ADD),Docker将会使用镜像而不是执行该指令,即缓存.为了有效的利用缓存,你需要保持你的Dockerfile一致,并且尽量在末尾修改.Dockerfile的前五行其实可以固定写成如下这样:FROM ubuntu MA
2018-03-07 17:21:19 124
转载 Docker搭建本地私有仓库
安装部署一个私有的Docker Registry是引入、学习和使用Docker这门技术的必经之路之一。尤其是当Docker被所在组织接受,更多人、项目和产品开始接触和使用Docker时,存储和分发自制的Docker image便成了刚需。Docker Registry一如既往的继承了“Docker坑多”的特点,为此这里将自己搭建”各类”Registry过程中执行的步骤、遇到的问题记录下来,为己备忘
2018-03-07 17:21:16 268
原创 DockerZz杂记
Docker中images中none的镜像删除docker build 或是 pull 命令就会产生临时镜像。如果我们用dockerfile创建一个helloworld镜像后,因为版本更新需要重新创建,那么以前那个版本的镜像就会成为临时镜像。这个是需要删除的。删除命令见下。sudo docker rmi $(sudo docker images -f "dangling=tru
2018-03-07 17:21:06 190
翻译 一句话概括下spring框架及spring cloud框架主要组件
spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了。Spring Boot:旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能,可以和spring cloud联合部署。Sp
2018-03-07 17:21:00 186
转载 远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
RPC(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。 Web ServiceWeb Ser
2018-03-07 17:20:57 269
原创 观察者模式和发布/订阅模式的区别
在事件总线(EventBus)的架构设计中,用到了发布/订阅模式,但发现和观察者模式挺接近,有时容易发生混淆,现试图分清一下他们的关系。 观察者模式的角色为观察者(observer)和主题(subject)对象,observer需要观察subject时,需先到subject里面进行注册(subject对象持有observer对象的集合句柄),然后,当subject对象的内
2018-03-06 18:48:07 624 1
转载 IO模型
目录前言IO模型网络编程模型参考资料前言说到IO模型,都会牵扯到同步、异步、阻塞、非阻塞这几个词。从词的表面上看,很多人都觉得很容易理解。但是细细一想,却总会发现有点摸不着头脑。自己也曾被这几个词弄的迷迷糊糊的,每次看相关资料弄明白了,然后很快又给搞混了。经历过这么几次之后,发现这东西必须得有所总结提炼才不至于再次混为一谈。尤其是最近看到好几篇讲这个的文章,很多都有谬误,很容易把本
2018-03-06 18:47:39 163
软件架构师的12项修炼
2017-07-03
Linux系统管理技术手册
2017-07-01
Hadoop技术内幕
2017-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人