容器技术

Spring 核心技术

爱⌒轻易说出口 提交于 2020-03-08 14:30:59
核心技术 版本 5.2.4.RELEASE 参考文档的这一部分涵盖了Spring框架中不可获取的所有技术 其中最重要的是Spring的ioc(控制反转)容器,在对SpringIOC进行了全面的处理之后,还对SpringAOP技术进行了全面的介绍。Spring框架有它自己的AOP框架,并且在概念上容易理解,成功的解决了Java企业编程中AOP需求的80%功能点。 Spring还提供了对AspectJ的支持。 1 IOC容器 这一章覆盖了SpringIOC容器 1.1 介绍SpringIOC容器和bean 这一章覆盖了Spring框架实现了IOC容器的原理。IOC也成为依赖注入(DI)。这是一个对象仅通过构造函数参数、工厂方法的参数或对象实例构造或从工厂方法返回后在对象实例上设置的属性来定义其依赖项(即与之一起工作的其他对象)的过程。然后容器在创建bean时注入这些依赖项。这个过程基本上是bean本身的逆过程(因此成为控制反转),通过使用类的直接构造或一种机制(如服务定位器模式)来控制依赖项的实例化或位置。 这org.springframework.beans 和 org.springframework.context包是SpringIOC容器的基础。BenaFactory接口提供了能够管理任何类型对象的高级配置机制。ApplicationContext是BeanFactory的子接口

Kubernetes 新时代的宠儿

非 Y 不嫁゛ 提交于 2020-03-08 13:17:47
本文首发于我的公众号 Linux云计算网络(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,欢迎大家关注,二维码文末可以扫。 Kubernetes 是什么 Kubernetes 简称为 K8S。简单说,K8S 是一个用于容器集群的分布式系统架构。首先,它是基于容器技术,容器是和虚拟机并列的一种虚拟化技术,相比虚拟机来说,容器更加轻量,资源利用率更高,是微服务化的宠儿,更适合于云原生应用。 其次,K8S 掌管的是容器集群,就像它的名字一样,一个舵手指挥着一个个的集装箱航行。容器会被频繁地销毁、重建和调度,为了最大化地利用集群资源和减少人力成本,K8S 在其中以高效的策略,自动化的运维方式指挥着这一切,就像一台永动机一样,管理员可以一劳永逸。 最后,K8S 的架构非常开放,分布式的组件结构,使得它可以轻松地适应大规模的集群环境,Google 庞大的数据中心就是它最好的历练。 为什么 K8S 能赢? 随着 2014 年 Docker 大火之后,已经涌现出大量的容器集群管理平台,其中,Docker 自家的 Swarm,在 Twitter 内部久经考验的 Mesos,以及 Google 的 K8S 最为知名,号称容器编排三驾马车。下图是三家的热度走势图: K8S 自诞生日起便一骑绝尘,甩对手十几条街。为什么 K8S 能赢

spring依赖注入和控制反转

烈酒焚心 提交于 2020-03-08 09:23:22
2017-11-15 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。 一、分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文,原文地址:http://jinnianshilongnian.iteye.com/blog/1413846 1.1、IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。 在Java开发中, Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下: ●谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对 象的创建; 谁控制谁?当然是IoC 容器控制了对象;控制什么

docker 嵌套技术 docker outside of docker 可用于一个容器内调用另一个容器内程序 跨容器调用

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-07 10:48:56
环境:centos7 docker升级为最新版, docker升级方法参考:《centos7 docker升级到最新稳定版本》 https://blog.csdn.net/whatday/article/details/104612681 以tomcat容器为例: docker run --name web --privileged -v /etc/localtime:/etc/localtime:ro -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -d -p 8080:8080 tomcat:8.5.35 重点: 1.将宿主机 /var/run/docker.sock 文件挂载到容器,实现容器内 docker 操作宿主机 docker 的目的 2.将宿主机 /usr/bin/docker 文件挂载到容器,直接当docker客户端使用。 宿主机docker列表: tomcat容器内docker列表: 可以看到完全一样, 此时可以在 tomcat 容器中调用 其他容器 内的程序,示例如下: docker exec 其他容器 /bin/bash -c 'cd /packages/detectron && python tools/train.py' 注意事项: 1.-it

STL标准入门详解

本秂侑毒 提交于 2020-03-07 06:49:43
第一部分:(参考百度百科) 一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和 David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的 一段时间。 STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类 和模版函数的方式,这相比于传统的由函数和类 组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的13个头文 件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、 <memory>、<numeric>、<queue>、<set>、<stack>和<utility>。 二、算法 大家都能取得的一个共识是函数库对数据类型的选择对其可重用性起着至关重要的作用。举例来说,一个求方根的函数,在使用浮 点数作为其参数类型的情况下的可重用性肯定比使用整型作为它的参数类性要高。而C++通过模板的机制允许推迟对某些类型的选 择,直到真正想使用模板或者说对模板进行特化的时候

技术破局:如何实现分布式架构与云原生?| 含 ppt 下载

こ雲淡風輕ζ 提交于 2020-03-06 18:28:35
2月19日-2月26日,蚂蚁金服开展了“共战‘疫情’,技术破局”数字课堂线上直播,邀请资深专家从“云原生”、“研发效能”、“数据库”三方面分享蚂蚁金服的实践经验并在线答疑,解析 PaaS 在金融场景的落地建设实践,解析支付宝移动端弹性动态架构,分享 OceanBase 2.2版本的特性和实践。 本文根据 蚂蚁金服 SOFAStack 产品专家俞仁杰 ,在蚂蚁金服数字课堂直播间分享的云原生应用 PaaS 平台的建设实践内容整理,以下为演讲整理全文: 大家好,欢迎来到蚂蚁金服数字课堂直播间。今年 2 月,SOFAStack 金融分布式架构产品已经在阿里云上完成了商业化发布,为了让更多朋友了解到我们的产品的能力、定位以及背后的设计思路,后续我们会有一系列的直播分享。我们今天想分享给大家的话题叫《 云原生应用 PaaS 平台的建设实践 》,主要会围绕 PaaS 产品能力在一些需要稳妥创新的金融场景下的落地思路,并且能够更好地与云原生架构做好链接。 金融场景云原生落地面临挑战 云原生是业务快速变化背景下的必然技术趋势 回顾 IT 的发展史,云计算分类为 IaaS PaaS 和 SaaS 已经有十几年了。而事实上,整个云计算行业的发展,我们能够明显看到企业在落地云计算战略的时候经历的三个阶段,Cloud-Based, Cloud-Ready, Cloud-Native

【巨杉数据库SequoiaDB】巨杉 Tech | 几分钟实现巨杉数据库容器化部署

孤人 提交于 2020-03-06 18:02:13
随着业务负载的不断加重,容器化、虚拟化也成为各类在线应用必须要具备的能力。对于分布式数据库,容器化也是提升快速部署、提高运维效率的一个很好的路径。 我们重新优化了 Docker部署的方式,帮助大家更快的上手SequoiaDB集群,本文就将介绍基于 Docker 的SequoiaDB分布式集群快速部署。 1.集群配置 我们将在六个容器中部署一个多节点,高度可用的 SequoiaDB 集群,如下所示: (本文以 SequoiaDB v3.2.3 版本为例) 该集群包括一个协调器节点、一个目录节点、三个数据组,每个数据组有三个副本数据节点和一个 MySQL 实例节点。 环境 ​​​​​​​ OS : Ubuntu 18 Docker Version : 18.09.7 Docker Compose Version: 1.25.3 Database Version : SequoiaDB 3.2.3 MySql Client: Sequoiasql-mysql Cluster Deployment : 1 coordinator, 1 catalog, 3 data nodes, and 1 MySQL instance 2.1 Docker安装 2.1.1 Docker 对于在不同平台上的 Docker 安装,用户可以参阅 Docker 安装指南。 sudo apt-get

CentOS 7安装Docker服务详细过程

*爱你&永不变心* 提交于 2020-03-06 06:50:08
---恢复内容开始--- Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker 官网 : http://www.docker.com/ Docker 官方文档: https://docs.docker.com/ Docker Github 地址: https://github.com/docker/docker Docker 仓库: https://hub.docker.com/ Docker 中文社区: http://www.docker.org.cn/book/docker Docker 应用场景: https://www.zhihu.com/question/22969309 1.1、什么是Docker? Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotcloud公司。 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 docker中文社区

10分钟搭建Kubernetes容器集群平台(kubeadm)

拜拜、爱过 提交于 2020-03-05 23:29:37
官方提供Kubernetes部署3种方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 官方文档: https://kubernetes.io/docs/setup/minikube/ kubeadm kubeadm可帮助你快速部署一套kubernetes集群。kubeadm设计目的为新用户开始尝试kubernetes提供一种简单的方法。目前是Beta版。 官方文档: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ https://kubernetes.io/docs/setup/independent/install-kubeadm/ 二进制包 从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。目前企业生产环境中主要使用该方式。 下载地址: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#v1113 1. 安装要求 操作系统 Ubuntu 16.04+ Debian 9 CentOS 7 RHEL 7 Fedora 25/26 (best-effort) 其他

为什么说云原生会成为未来企业技术变迁的趋势

廉价感情. 提交于 2020-03-05 23:25:44
为什么说云原生会成为未来企业技术变迁的趋势 云原生是当下的热点话题,但是很多人对云原生有很多误解,特别是传统产业物联网或工控、物联网行业对云原生显得"后知后觉"。与其在这里说是预测,不如说是现在进行时,只是由于传统产业本身的技术包袱和组织个人认识程度差异,目前发展并不见快。目前大部分的系统还是停留在旧年代,只是不到火候,还没到尝鲜和推倒重来的必要。但是,面对未来业务的持续增长和行业竞争,必然要面临一个技术的现代化转型升级,即:使用新技术代替老技术,使用新观念代替老观念的痛苦过程。否则老系统必然会变成企业发展的一个瓶颈,因为基于老系统的修修补补只会使系统变得更加复杂和难以维护,最后等待他们的是要么推到重来,要么是逐年生锈老化(修修补补又三年)。我这里针对新近的云原生作为一个切入点,来说明一下为什么说云原生会成为未来企业技术变迁的一个趋势。 概念诞生   云原生(Cloud Native)的概念,由来自Pivotal的MattStine于2013年首次提出,被一直延续使用至今。   这个概念是Matt Stine根据其多年的架构和咨询经验总结出来的一个思想集合,并得到了社区的不断完善,内容非常多,包括: DevOps 持续交付(Continuous Delivery) 微服务(MicroServices) 敏捷基础设施(Agile Infrastructure)和12要素(The