容器技术

常用的.NET开源项目

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-01 02:45:46
综合类 微软企业库 微软官方出品,是为了协助开发商解决企业级应用开发过程中所面临的一系列共性的问题, 如安全(Security)、日志(Logging)、数据访问(Data Access)、配置管理(Configuration Manage)等,并将这些广泛使用的应用程序块集成封装至一个叫企业库的程序包中 CommonLibrary.net 一个帮助类库,包含了ActiveRecord, Csv, Command Line Parsing, Configuration, Validation, Logging, Collections, Authentication等等 Castle 一个传统的综合类库,包含IOC容器,基于ActiveRecord模式的ORM,类MVC框架,核心,现在用的比较多的是核心Castle.Core, 里面包含了基于虚拟工厂的日志抽象,动态代理DynamicProxy,Dictionary Adapter(可以将一个接口转化为强类型的Dictionary对象,具体大家可以查一查,某些场景下很有用 IOC容器 Autofac 我最喜欢的一个IOC容器,特性丰富,除了IOC的基本功能外,还提供模块化和程序集扫描,内置了很多有用的扩展(Lazy,Func,Owned,IEnumrable)等等,而且对asp.net,mvc,mef,wcf

k8s入门系列之介绍篇

旧街凉风 提交于 2019-12-01 02:35:36
k8s入门系列之介绍篇 •Kubernetes介绍 1.背景介绍   云计算飞速发展     - IaaS     - PaaS     - SaaS   Docker技术突飞猛进     - 一次构建,到处运行     - 容器的快速轻量     - 完整的生态环境 2.什么是kubernetes   Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。   Kubernetes优势:     - 容器编排     - 轻量级     - 开源     - 弹性伸缩     - 负载均衡 •Kubernetes的核心概念 1.Pod   运行于Node节点上,若干相关容器的组合。Pod内包含的容器运行在同一宿主机上,使用相同的网络命名空间、IP地址和端口,能够通过localhost进行通。Pod是Kurbernetes进行创建、调度和管理的最小单位,它提供了比容器更高层次的抽象,使得部署和管理更加灵活。一个Pod可以包含一个容器或者多个相关容器。 2.Replication Controller   Replication Controller用来管理Pod的副本,保证集群中存在指定数量的Pod副本

spring-Ioc浅析

限于喜欢 提交于 2019-12-01 01:18:31
一、 IoC 是什么 IOC —— Inversion of Control Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下: 谁控制谁,控制什么: 传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。 为何是反转,哪些方面反转了: 有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。 二、 IoC 能做什么 IoC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象

Spring Ioc (Inversion of Control)

扶醉桌前 提交于 2019-12-01 01:08:59
以下整理自 http://jinnianshilongnian.iteye.com/blog/1413846 ,如有侵权立即删除。 Ioc Ioc(Inversion of Control),即控制反转。不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对象的创建;IoC 容器控制了对象(主要控制了外部资源获取,不只是对象包括比如文件等)。 传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。 Ioc 容器 IoC容器就是具有依赖注入功能的容器, IoC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖 。应用程序无需直接在代码中new相关的对象,应用程序由IoC容器进行组装。 在Spring中BeanFactory是IoC容器的实际代表者 。 Spring IoC容器如何知道哪些是它管理的对象呢?这就需要配置文件,Spring

Vue生命周期

空扰寡人 提交于 2019-12-01 00:54:12
背景 docker容器技术是当今非常热门的容器技术,他利用linux内核的namespace机制对容器进行隔离,使得各个容器能够相互独立运行,彼此互不干扰。同时相比于虚拟机技术,docker的各个容器之间共享同一份linux内核代码,有着更小的系统开支。 开发环境架构设计 1、单容器 or 多容器 对于LNPM开发者来说,一个完整的开发环境,包括linux系统,nginx web服务器,php-fpm守护进程和Mysql数据库。 以往,在使用virtualBox这一类虚拟机技术时,通常的做法是只建一个虚拟机同时运行inux系统,nginx web服务器,php-fpm守护进程和Mysql数据库。但是这与我们实际的生产环境有很大的差别,在高并发的生产环境中,主要以面向服务架构思想为主,系统各个部分被划分为相互独立的低耦合的服务集群,使用负载平衡将短时间的海量请求划分为少量请求分发给集群中的各个节点进行处理。各个服务集群彼此独立运行,互不干扰,任何一个服务宕机并不影响其他服务的运行。 使用一个容器运行一个服务,模拟生产环境中的服务集群,使用多容器更能模拟实际生产环境。现阶段我们需要3个容器。 容器1,nginx web服务 容器2,php-fpm服务 容器3,mysql服务 2、容器与宿主主机的数据交换 原文: 大专栏 Vue生命周期 来源: https://www.cnblogs

mysql的HA及openstack和k8s区别

时光怂恿深爱的人放手 提交于 2019-11-30 23:45:33
数据库HA(Hight Availability) mysql自身支持主主/主备部署,多主(>2),一主多备 galera mariadb集群:多主相互备份 修改容器的启动配置 修改Docker容器 启动配置 参数 docker container update --restart=always 容器名字 修改配置文件 停止容器 找到配置文件路径 /var/lib/docker/containers/容器ID 在该目录下找到一个文件 hostconfig.json 修改配置 启动容器。 galera mariadb集群部署及故障恢复 galera mariadb集群恢复策略 在集群中启动第一台数据库时,必须加上参数--wsrep-new-cluster https://www.cnblogs.com/vadim/p/6930697.html https://www.cnblogs.com/jinyuanliu/p/10929324.html https://dba.stackexchange.com/questions/157500/how-to-recover-mariadb-galera-cluster-after-full-crash http://liupeng0518.github.io/2019/07/07/openstack/kolla/kolla-mariadb/

最佳实战Docker持续集成图文详解

喜你入骨 提交于 2019-11-30 22:53:55
前言 关于Docker的文章铺天盖地,但精品文章往往翻译居多。都说Docker天生适合持续集成/持续部署,但同样,可落地、实际可操作性的文章也很罕见。 基于这些情况,虽然我们专栏定位为运维管理性文字,但本篇是个特例,实操性的案例讲解——JAVA项目如何通过Docker实现持续部署(只需简单四步),即: 开发同学通过git push上传代码,经Git和Jenkins配合,自动完成程序部署、发布,全程无需运维人员参与。 这是一种真正的容器级的实现,这个带来的好处, 不仅仅是效率的提升,更是一种变革: 开发人员第一次真正为自己的代码负责 ——终于可以跳过运维和测试部门,自主维护运行环境(首先是测试/开发环境)。 本文是cSphere Docker实战视频第二讲的文字版,关于更多系列视频,详见希云(https://csphere.cn/training) 福利: 点击文末的“实战视频”即可手机欣赏本文对应的实战视频哦。 难者不会,会者不难。通过简单的4个配置,即可优雅地实现持续部署。本文依惯例放上目录,请享用。 持续部署的技术思路 效果展示 配置Git和Jenkins联动 配置Jenkins自动更新代码 效果图文详解 FAQ 好吧,我们正式开始。 1. 持续部署的技术思路 在本例中,假设我们JAVA项目的名称为hello。简要的技术思路如下。 本案例中假设代码托管在git.oschina

兼容传统应用,蓄力边缘云——博云胖容器解决方案

冷暖自知 提交于 2019-11-30 21:08:48
背景 最近几年基于容器技术的资源分配方式越来越流行,kubernetes作为容器领域事实上的容器编排技术也开始在企业中逐渐落地。借助容器/微服务/DevOps等技术,新生代的云原生应用得到了极大的普及。但在企业的应用生态中,当前云原生系统仅占很小的一部分,尚存在大量的传统应用无法享受容器技术带来的好处,业界需要一种专门针对传统应用快速上云的解决方案。 博云走访调研了多家企业客户,发现目前传统应用(非微服务架构)迁移到容器云平台,主要面临以下问题: 当前有为数不少的legacy应用,无法或很难进行改造(微服务化,容器化等),需要安装各种agent。 传统应用往往部署在虚拟机上,而虚拟机启动较慢,不能满足业务灵活性,弹性的需求。 虚拟化技术堆栈较重,资源损耗大,客户希望能够充分发挥强大服务器硬件的能力。 传统应用的运维人员更倾向于将应用系统视为pet而不是cattle,发现问题后更希望能手动去做调整。 应用对性能敏感,容器环境下的高密度部署引起的CPU上下文切换等性能造成很大影响。 针对以上痛点,虚拟机和容器都不是最优解。经过广泛的技术调研,我们发现胖容器技术是一种可行且合理的解决方案。首先,从技术的发展趋势来看, 胖容器技术是容器发展早期由容器领域的先行者广泛采用的一种既可以获取容器轻量的优势又可以广泛支持传统应用的一种技术 。但随着容器的快速普及

规模、性能、弹性全面升级,让天下没有难用的 K8s

只谈情不闲聊 提交于 2019-11-30 18:44:27
9月26日云栖大会容器专场,在《拐点已至,云原生引领数字化转型升级》的演讲中,容器服务开发负责人汤志敏表示:“阿里云容器服务已经拥有国内最大规模的公共云容器集群,据各大国际评测机构显示,其市场份额和产品综合能力中国内第一。本次容器服务ACK2.0在规模、性能和弹性能力上全面升级,支持单集群万节点、90%原生性能的安全沙箱容器、分钟级千节点弹性。此外,容器服务已经在全球20个地域部署,推出云原生混合云2.0架构和ACK @Edge ,打造安全智能的无边界云计算。” 本文根据演讲内容整理而成。 K8s,云原生时代的重要生产力 在早期,K8s上跑的应用是多是无状态的应用,而现在越来越多的企业核心业务和数据智能业务和创新业务也跑在K8s之上。以阿里云自身的云产品举例,包括企业级分布式应用服务EDAS、微服务引擎MSE、数据开发平台Dataphine、数据仓库DataLake也部署在容器服务ACK之上。如今,阿里云实时计算产品也推出了实时计算云原生Flink版本,让Flink可以部署在用户的已有K8s集群之上,3让在线业务和流计算共享一个K8s集群,降低运维成本的同时可以享受弹性。我们正在见证K8s成为云原生时代的基础设施,成为云上分布式的操作系统,成为平台的平台。大量的企业在享受云原生带来的敏捷、弹性和可移植能力。 为什么我们认为 “云原生的拐点已至”?CNCF在8月份颁布了双年度报告

docker自学笔记-1

六眼飞鱼酱① 提交于 2019-11-30 18:36:15
什么是容器? 容器是在隔离的环境里面运行的一个进程,这个隔离的环境有自己的系统目录文件,有自己的ip地址,主机名等。也有人称:容器是一种轻量级虚拟化的技术。 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+Docker,这两年docker更是如日中天。docker只是容器的一种,在学习docker之前,我有必要先了解一下什么是容器?有助于我们更好的了解docker 使用容器有什么好处? 容器相对于kvm虚拟机的优势: 容器能提供接近宿主机的性能,而kvm虚拟机会损害一部分宿主机的性能 同样硬件配置的宿主机最多能启动10虚拟机,那么它可以启动100+容器 启动一台kvm虚拟机,可以能需要20秒,启动一个容器只需要1秒 kvm需要硬件cpu的支持,容器不需要 linux开机启动流程: bios开机硬件自检 根据bios设置的优先启动项