首页 文章 精选 留言 我的

精选列表

搜索[AI生态],共10000篇文章
优秀的个人博客,低调大师

全球首个开放应用模型 OAM 开源 | 云原生生态周报 Vol. 23

作者 | 临石、元毅、冬岛、衷源、天元 业界要闻 全球首个开放应用模型 OAM 开源 2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model (OAM)开源项目。OAM 的愿景是以标准化的方式沟通和连接应用开发者、运维人员、应用基础设施,让云原生应用管理与交付变得更加简洁,高效,并且可控。 KubeVirt 进入 CNCF Sandbox KubeVirt尽管容器技术提供了各种便利,但是在特定情况下使用 VM 仍然是不可避免的(编者按:VM 只是选择之一,不同的安全容器解决方案都可以在不同方面代替单纯的 VM)。来自 Redhat 的 KubeVirt 项目可以提供在 K8s 集群内部准备

优秀的个人博客,低调大师

云原生生态周报 Vol. 19 | Helm 推荐用户转向 V3

作者| 禅鸣、忠源、天元、进超、元毅 业界要闻 Helm 官方推荐用户迁移到 V3 版本 Helm 官方发布博客,指导用户从 v2 迁移到 v3,这标志着官方开始正式推进 helm 从 v2 转向 v3。我们也更加推荐终端用户使用 helm v3,之前我们曾在文章《初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3》深入探讨过如何用 Helm 来快速部署 K8s 应用以及为什么要尽快转向 Helm V3。 CNCF 公布2020 年 KubeCon 时间表 CNCF 最近公布了其 2020 年 KubeCon + CloudNativeCon 的时间表: 欧洲:2020 年 3 月 30 日至 4 月 2 日,阿姆斯特丹 中国:2020 年 7 月 28 至 30 日,上海 北美:2020 年 11 月 17 至 20 日,波士顿

优秀的个人博客,低调大师

阿里巴巴飞天大数据架构体系与Hadoop生态系统

很多人问阿里的飞天大数据平台、云梯2、MaxCompute、实时计算到底是什么,和自建Hadoop平台有什么区别。 先说Hadoop 什么是Hadoop?Hadoop是一个开源、高可靠、可扩展的分布式大数据计算框架系统,主要用来解决海量数据的存储、分析、分布式资源调度等。Hadoop最大的优点就是能够提供并行计算,充分利用集群的威力进行高速运算和存储。 Hadoop的核心有两大板块:HDFS和MapReduce。 HDFS全称Hadoop Distributed File System,是一种分布式文件存储系统。分布式文件系统是指将固定于某个地点的某个文件系统,扩展到任意多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上

优秀的个人博客,低调大师

云原生生态:rkt 归档,容器运行时“上古”之战老兵凋零

作者列表:木苏,临石,得为,等等 业界要闻 1.安全漏洞 CVE-2019-9512 CVE-2019-9514 http2 的 DOS 漏洞,一旦攻击成功会耗尽服务器的 cpu/mem,从而导致服务不可用。 相关链接:https://discuss.kubernetes.io/t/security-release-of-kubernetes-v1-15-3-v1-14-6-v1-13-10-cve-2019-9512-and-cve-2019-9514/7596/1 2.CNCF 对 rkt 项目进行归档 rkt 是 CoreOS 公司在 CNCF 早期捐献出来的容器运行时项目。彼时 Docker 风头正劲,一时无两,开源社区一直希望 Docker 可以更多倾听社区的声音却苦于当时 Docker 是容器运行时(开源)的唯一选择。rkt 的出现给了社区和用户一个 Alternative,为后来 CRI 等标准容器运行时的接入提供了一个理由。然而随着容器运行时标准的统一(CRI、CSI、CNI等),rkt 的社区活跃度大大降低,一些 CVE 也迟迟没有修复,于是 CNCF 决定归档 rkt。目前 CNCF 中还有 2 个容器运行时项目:containerd 和 CRI-O。 相关链接:https://www.cncf.io/blog/2019/08/16/cncf-archives-the-rkt-project/ 3.GitHub 支持在 Azure 上使用 CI/CD 功能,将对公共的仓库开发免费使用,相关功能包含: 授权、应用部署的方式、容器部署的方式、K8s 的部署方式等等(azure/actions (login), azure/appservice-actions,azure/container-actions,azure/k8s-actions)。 相关链接: a.https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/ b.https://azure.microsoft.com/en-au/blog/announcing-the-preview-of-azure-actions-for-github/ 4.Intel 发布 K8s 的 GPU plugin,项目包含了 fpga/gpu/quickAssist。 相关链接: a.https://www.careyscloud.ie/intel_gpu_plugin b.https://github.com/intel/intel-device-plugins-for-kubernetes 5.orka支持部署多个 MacOS VM orka 采用 K8s 和容器化技术支持一台 Mac 的硬件部署多个 MacOS VM,方便 iOS 和 Mac 的开发人员。 相关链接:https://www.macstadium.com/orka 6.Helm Submmit 2019 日程确定 相关链接:https://events.linuxfoundation.org/events/helm-summit-2019/program/schedule/ 7.VMware 收购 Pivotal VMware 以每股 15 美元的价格收购 Pivotal 的 A 类普通股股票。Pivotal 早先以他们在 Cloud Foundry 中的工作成为 PaaS 领域的独特力量,然而随着 Kubernetes 项目的全面成功,Pivotal 和 Cloud Foundry 不得不开始兼容 Kubernetes。Pivotal 的 CTO 在采访中也表示他们正在把一些 Pivotal 之前在做应用和容器化平台的经验带入到 K8s 当中。Kubernetes 相关议题将全面占据 8 月 25 日将在旧金山举行 VMworld 2019,大会预计会超过 80 breakout sessions, expert roundtables。 相关链接: a.收购信息:https://investors.pivotal.io/news/financial-news/press-release-details/2019/Pivotal-In-Discussions-With-VMware-Regarding-Potential-Business-Combination/default.aspx b.Pivotal CTO 谈 K8s:https://devclass.com/2019/08/16/pivotal-cto-kubernetes-means-were-all-distributed-systems-programmers-now/ c.VMware2019 & Kubernetes:https://cloud.vmware.com/community/2019/08/13/kubernetes-is-set-to-take-over-vmworld-us-2019-heres-what-to-see-and-do/ 上游重要进展 1.支持 kube-apiserve r的 service,Kubernetes 能同时支持 clusterIP 和 externalName,让 kube-apiserver 能通过 FQDN 被其他 Pod 直接访问。 KEP 链接: https://github.com/kubernetes/enhancements/pull/1216 相关类似 PR: a.https://github.com/kubernetes/kubernetes/pull/47588 b.https://github.com/kubernetes/kubernetes/pull/79312 2.request-faireness 文档更新,主要是依据实现方案修改 KEP 文档。 a.进度跟踪:https://github.com/kubernetes/kubernetes/issues/76846 b.设计实现:https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190228-priority-and-fairness.md#design-details c.本次 PR://github.com/kubernetes/enhancements/pull/1214 3.一批 Metric 被订正。主要内容: a.cAdvisor: 指标的 label"pod_name", "container_name" 改为 "pod", "container"; b.API latency histogram buckets: 之前是 125ms 到 8s, 范围支持 [0.005 0.01 0.025 0.05 0.1 0.25 0.5 1 2.5 5 10]; c.kubelet: 修改 promethues 的指标类型 summary 为 histograms 等,单位变为秒; d.kube-scheduler: 单位变为秒; e.Kube-proxy: 单位变为秒,删除指标:DeprecatedNetworkProgrammingLatency; f.kube-apiserver: apiserver_request_latency_seconds 的窗口变得更大,后续可以更精细化; g.Convert latency/latencies in metrics name to duration; h.Client-go: workingqueue 指标改名,符合指标监控规范。 相关链接: i.https://github.com/kubernetes/enhancements/issues/1206 ii.https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/instrumentation.md 4.调度器相关 PR: a.支持 binder plugin,写了个默认实现;https://github.com/kubernetes/kubernetes/pull/81593/files b.增加了 cleanup 扩展点; i.issue: https://github.com/kubernetes/kubernetes/issues/81438 ii.pr: https://github.com/kubernetes/kubernetes/pull/81593/files c.调度队列支持参数 maxBackoffDuration;https://github.com/kubernetes/kubernetes/pull/81263 d.Move RunNormalizeScorePlugins and ApplyScoreWeights into RunScorePlugins,其实就是一个小优化。https://github.com/kubernetes/kubernetes/pull/81614/files 5.Promote Node Zone/Region Topology Labels to GA https://github.com/kubernetes/kubernetes/pull/81431 6.kube-apiserver 开始支持 CacheObject,避免重复的序列化开销 https://github.com/kubernetes/kubernetes/pull/81585/commits 7.kube-apiserver 支持调用 webhook 设置 context 超时时间 https://github.com/kubernetes/kubernetes/pull/81602 8.apiserver 调用 webhook 的 metrics apiserver_admission_webhook_admission_duration_seconds 新增标签(ignore_call_failure, call_failure and code) https://github.com/kubernetes/kubernetes/pull/81399/files 9.Block etcd client creation until connection is up #81435 https://github.com/kubernetes/kubernetes/pull/81435 10.Enables resizing of block volumes https://github.com/kubernetes/kubernetes/pull/81429/files 开源项目推荐 1.k3sup:方便从一台机器上获取 kubeconfig 的工具类。 链接:https://github.com/alexellis/k3sup 2.Gatekeeper:Policy Controller for Kubernetes,一个不同于 OPA 的 K8s 策略配置工具。 链接:https://github.com/open-policy-agent/gatekeeper 3.ktop :A visualized monitoring dashboard for Kubernetes,一个 K8s 的可视化监控 dashboard。 链接:https://github.com/ynqa/ktop?utm_sq=g3i5hm4xyz 4.System-validators。这是一个新的项目,旨在为 Kubeadm 提供一套安装的 preflight check,看起来能够帮助私有环境中部署 K8s 节省很多时间,对相关领域的工作人员会有很大帮助。 链接:https://github.com/kubernetes/system-validators 本周阅读推荐 1.OPA Gatekeeper: Policy and Governance for Kubernetes。这篇博客描述了如何使用 OPA Gatekeeper 在 K8s 中进行规则和策略配置。(例如:如何为用户配置符合公司规定的操作权限?) https://kubernetes.io/blog/2019/08/06/opa-gatekeeper-policy-and-governance-for-kubernetes/ a.关于 OPA 还有另一篇文章推荐:How to enforce custom policies on Kubernetes objects using OPA。链接:https://www.openpolicyagent.org/docs/latest/kubernetes-admission-control 2.The Case for Virtual Kubernetes Clusters。虚拟化 K8s 集群是目前社区和很多用户十分关心的技术方案,主要的需求来源是多租户。如果你对这方面不是很了解,阅读这篇文章会有帮助。 链接:https://thenewstack.io/the-case-for-virtual-kubernetes-clusters/?utm_source=tuicool&utm_medium=referral

优秀的个人博客,低调大师

云原生生态周报 Vol. 14 | K8s CVE 修复指南

业界要闻 1 Mesosphere公司正式更名为 D2IQ, 关注云原生Mesosophere公司日前发布[官方声明](https://mp.weixin.qq.com/s/nxEEESqxQv5pxwtoDn0gJQ)正式更名为:D2iQ(Day-Two-I-Q),称关注点转向Kubernetes与云原生领域, 并会继续将“Mesosphere”作为产品技术和品牌的一部。 2 Kubernetes 两个安全漏洞修复指南 2.1 Kubernetes API server 暴出安全漏洞(CVE-2019-11247),该漏洞使得指定了命名空间权限的请求可以访问到集群级别权限的自定义资源(CR),漏洞产生的主要原因在于CRD的服务API没有检查请求的命名空间范围(namespaceScope)。 漏洞涉及的版本包括: Kubernet

优秀的个人博客,低调大师

Spring生态系统(Spring可能大家都在用,很少去关注整体架构)

Spring的整体架构 1、Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块[5]: 2、Core Container 核心容器 核心部分分为4大块,spring-core, spring-beans, spring-context, spring-expression. 其中core和bean是整个框架的核心,提供了基础的DI(依赖注入)和IOC(控制反转)功能。 Context建立在core和beans模块之上,提供一种类似JNDI且以框架的方式来操作对象的方式。Context模块从beans模块继承它的功能同时增加了国际化支持,如资源绑定等,同时,Context模块也支持JavaEE功能,如EJB,JMX和基本的远程调用。ApplicationContext接口是context模块的焦点。expression是一种很强大的expression language,支持在运行时查询和操作对象的属性,我们会在后面的文章中举些例子来说明spring expression language的用法。 3、AOP and instrumentation Aop模块提供了面向切面编程的实现,和AspectJ集成。 4、Messaging Messaging是spring4新增加的模块,包含了一部分主要的基于message的应用的实现。 5、Data Access/Integration Data access顾名思义,是spring对数据层提供的支持,是功能比较丰富的模块。提供了包括JDBC,事物,ORM,JMS等一系列实现。 6、Web Web模块主要提供面向web的一些实现,例如多文件上传,servlet监听器以及spring mvc方面的支持。 7、Test Test模块主要是针对spring的各个模块做各种各样的测试,包括单元测试、集成测试等等。

优秀的个人博客,低调大师

NoSQL生态系统——事务机制,行锁,LSM,缓存多次写操作,RWN

13.2.4 事务机制 NoSQL系统通常注重性能和扩展性,而非事务机制。 传统的SQL数据库的事务通常都是支持ACID的强事务机制。要保证数据的一致性,通常多个事务是不可能交叉执行的,这样就导致了可能一个很简单的操作需要等等一个复杂操作完成才能进行的情况。对很多NoSQL系统来说,对性能的考虑远在ACID的保证之上。通常NoSQL系统仅提供行级别的原子性保证,也就是说同时对同一个Key下的数据进行的两个操作,在实际执行的时候是会串行的执行,保证了每一个Key-Value对不会被破坏。对绝大多数应用场景来说,这样的保证并不会引起多大的问题,但其换来的执行效率却是非常可观的。在NoSQL中,Redis在事务支持这方面上不太一样,它提供了一个MULTI命令用来将多个命令进行组合式的操作,通过一个WATCH命令提供操作隔离性。这和其它一些提供test-and-set这样的低层级的隔离机制类似。 13.2.5 Schema-free的存储 还有一个很多NoSQL都有的共同点,就是它通常并没有强制的数据结构约束。即使是在文档型存储或者列式存储上,也不会要求某一个数据列在每一行数据上都必须存在。这在非结构化数据的存储上更方便,同时也省去了修改表结构的代价。而这一机制对应用层的容错性要求可能会更高。还有一个问题,就是数据库的表结构可能会因为项目的多次迭代而变得混乱不堪。 13.3 数据可靠性 13.3.1 单机可靠性 单机可靠性理解起来非常简单,它的定义是写操作不会由于机器重启或者断电而丢失。通常单机可靠性的保证是通过把数据写到磁盘来完成的,而这通常会造成磁盘IO成为整个系统的瓶颈。而事实上,即使你的程序每次都把数据写到了磁盘,实际上由于操作系统buffer层的存在,数据还是不会立刻被写到物理磁盘上,只有当你调用fsync这个系统调用的时候,操作系统才会尽可能的把数据写到磁盘。一般的磁盘大概能进行每秒100-200次的随机访问,每秒30-100MB的顺序写入速度。而内存在这两方面的性能都有数量级上的提升。通过尽量减少随机写,取而代之的对每个磁盘设备进行顺序写,这样能够减少单机可靠性保证的代价。也就是说我们需要减少在两次fsync调用之间的写操作次数,而增加顺序写操作的数量。下面我们说一下一些在单机可靠性的保证下提高性能的方法。 控制fsync的调用频率 Memcached是一个纯内存的存储,由于其不进行磁盘上的持久化存储,从而换来了很高的性能。当然,在我们进行服务器重启或者服务器意外断电后,这些数据就全丢了。因此Memcached 是一个非常不错的缓存,但是做不了持久化存储。 Redis则提供了几种对fsync调用频率的控制方法。应用开发者可以配置Redis在每次更新操作后都执行一次fsync,这样会比较安全,当然也就比较慢。Redis也可以设置成N秒种调用一次fsync,这样性能会更好一点。但这样的后果就是一旦出现故障,最多可能导致N秒内的数据丢失。 使用日志型的数据结构(就是LSM tree) 像B+ 树这样的一些数据结构,使得NoSQL系统能够快速的定位到磁盘上的数据,但是通常这些数据结构的更新操作是随机写操作,如果你在每次操作后再调用一次fsync,那就会造成频繁的磁盘随机访问了。为了避免产生这样的问题,像Cassandra、HBase、Redis和Riak都会把写操作顺序的写入到一个日志文件中。相对于存储系统中的其它数据结构,上面说到的日志文件可以频繁的进行fsync操作。这个日志文件记录了操作行为,可以用于在出现故障后恢复丢失那段时间的数据,这样就把随机写变成顺序写了。 虽然有的NoSQL系统,比如MongoDB,是直接在原数据上进行更新操作的,但也有许多NoSQL系统是采用了上面说到的日志策略。Cassandra和HBase借鉴了BigTable的做法,在数据结构上实现了一个日志型的查找树。Riak也使用了类似的方法实现了一个日志型的hash表(译者:也就是Riak的BitCask模型)。CouchDB对传统的B+树结构进行了修改,使得对树的更新可以使用顺序的追加写操作来实现(译者:这种B+树被称作append-only B-Tree)。这些方法的使用,使得存储系统的写操作承载力更高,但同时为了防止数据异构后膨胀得过大,需要定时进行一些合并操作。 通过合并写操作提高吞吐性能 Cassandra有一个机制,它会把一小段时间内的几个并发的写操作放在一起进行一次fsync调用。这种做法叫group commit,它导致的一个结果就是更新操作的返回时间可能会变长,因为一个更新操作需要等就近的几个更新操作一起进行提交。这样做的好处是能够提高写操作承载力。作为HBase底层数据支持的Hadoop 分布式文件系统HDFS,它最近的一些补丁也在实现一些顺序写和group commit的机制。 13.3.2 多机可靠性 一些NoSQL系统提供了多机可靠性的支持。 Redis采用了传统的主从数据同步的方式。所有在master上执行的操作,都会通过类似于操作日志的结构顺序地传递给slave上再执行一遍。如果master发生宕机等事故,slave可以继续执行完master传来的操作日志并且成为新的master。可能这中间会导致一些数据丢失,因为master同步操作到slave是非阻塞的,master并不知道操作是否已经同步线slave了。CouchDB 实现了一个类似的指向性的同步功能,它使得一个写操作可以同步到其它节点上。MongoDB提供了一个叫Replica Sets的架构方制,这个架构策略使得每一个文档都会保存在组成Replica Sets的所有机器上。MongoDB提供了一些选项,让开发者可以确定一个写操作是否已经同步到了所有节点上,也可以在节点数据并不是最新的情况下执行一些操作。很多其它的分布式NoSQL存储都提供了类似的多机可靠性支持。由于HBase的底层存储是HDFS,它也就自然的获得了HDFS提供的多机可靠性保证。HDFS的多机可靠性保证是通过把每个写操作都同步到两个以上的节点来实现的。 Riak、Cassandra和Voldemort提供了一些更灵活的可配置策略。这三个系统提供一个可配置的参数N,代表每一个数据会被备份的份数,然后还可以配置一个参数W,代表每个写操作需要同步到多少能机器上才返回成功。当然W是小于N的(RWN机制)。 为了应对整个数据中心出现故障的情况,需要实现跨数据中心的多机备份功能。Cassandra、HBase和Voldemort都实现了一个机架位置可知的配置,这种配置方式使得整个分布式系统可以了解各个节点的地理位置分布情况。如果一个操作需要等待另外的数据中心的同步操作成功才返回给用户,那时间就太长了,所以通常跨数据中心的同步备份操作都是异步进行的。用户并不需要等待另一个数据中心同步的同步操作执行成功。 未完待续! 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6256369.html,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册