容器化时代我们应当选择Kubernetes

昨天发的文章《基于Kubernetes 构建.NET Core 的技术体系》,有同学问.NET Core上有Spring Cloud类似的平台吗? .NET Core出现这么久了,这个为云原生应用开发而准备的系统需要Spring cloud这样的全家桶吗? 大家希望使用Spring Cloud的初衷都是为了实现应用的微服务化。然而对于微服务而言,有六个基本必须实现的:

  • 进程通讯

  • 服务注册与发现

  • 负载均衡

  • 配置中心

  • 熔断器

  • 网关路由

我们已经进入到容器化时代,Kubernetes成为了市场上容器编排的事实标准,而且k8S 同样具备了微服务所需要的服务注册与发现、负载均衡、配置中心。Spring cloud 的核心是Netflix微服务框架,非常成熟,但是在netflix oss开发初期,那个时候还没有docker,我们现在所有的服务都是通过虚拟容器承载的。

Netflix OSS的许多内容都是在一个已经过去的年代写出来的,那时所有东西都只能运行在AWS云上而没有其它选择。关于那个年代的许多宝贵遗产和前提假设都已经被封装到了Netflix的库里面,对于现在你运行的环境(比如Linux容器)已经不适用了。在Linux容器、Docker、容器管理系统等等出现之后,我们越来越看到把我们的微服务运行在Linux容器(公有云、私有云,或者都要等等)里的巨大价值。另外,因为这些容器都是直接把这些服务打包起来,所以我们倾向于不要过多关心在容器里面运行的到底是什么技术(是Java?还是Node.js?或者Go?或者.NET Core?)

Kubernetes是多语言的,不仅仅针对Java平台,而是以通用的方式为所有语言解决分布式计算问题。Kubernetes提供了配置管理、服务发现、负载均衡、跟踪、统计、单实例、平台级和应用栈之外的调度工作。该应用不需要任何客户端逻辑的库或代理程序,可以用任何语言编写。这意味着一个平台可以被多个团队(包括使用SpringJava开发人员)使用,并提供多种用途:应用程序开发、测试环境、构建环境(源码运行、构建服务、依赖仓库)等。Kubernetes解决了更广的微服务架构问题。除了提供运行时服务,Kubernetes也可以让你制定环境、设置资源限制、RBAC、管理应用程序生命周期、允许自动扩容和自我修复(几乎表现得像一个抗脆弱平台)。

  • 在K8s集群中,没有必要拥有Eureka。K8s中的ETCD拥有所有必要的信息。

  • 您的应用程序将通过指定的K8s服务名称联系K8s API服务器以获取端点信息。

  • Kubernetes 可以解决你所遇到的问题,可能可以取代netflix的整套技术

.NET Core 就是为云原生应用的开发而准备的平台,.NET Core相较于他的哥哥.NET的优势也正是我们很容易的使用C# 语言去构建高内聚低耦合的云原生系统。借助于K8S,service fabric, 我们很容易构建一个.NET Core的微服务生态。我在腾讯云上结合.NET Core和k8s 容器服务制作了一个教程 《.NET 微服务实战 — 微信公众号开发( https://cloud.tencent.com/developer/edu/major-100017)》,教程里例子-公众号开发虽然简单,我只是使用这个简单例子来阐述一个简单的问题,云时代的.NET 是怎么样的,我们要怎么样使用.NET Core。

相关文章:

  • 结合使用 Draft 与 Tencent Kubernetes Engine (TKE)

  • Kubernetes架构为什么是这样的?

  • kubernetes 客户端KubeClient使用及常用api

  • ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三

  • ASP.NET Core 借助 K8S 玩转容器编排

  • Kubernetes初探[1]:部署你的第一个ASP.NET Core应用到k8s集群

  • k8s使用helm打包chart并上传到腾讯云TencentHub

  • 基于Kubernetes 构建.NET Core 的技术体系

原文地址:https://www.cnblogs.com/shanyou/p/10662958.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[ZJOI2015]幻想乡 Wi-Fi 搭建计划(dp + 结论)

problem luogu-P3344 solution 这个题面,这个数据范围,完完全全就是网络流宗教。。然而我发现建不出来。 很多一眼网络流最后却不是网络流而往往是 dpdpdp 的题目都有一个特性:一个点可以流出多条流量,流入流量却只能为 111。…

CefSharp中c#和JavaScript交互读取电脑信息

介绍CEF是由Marshall Greenblatt于2008年创建的基于Google Chromium的BSD许可开源项目。与主要关注谷歌Chrome应用程序开发的Chromium项目本身不同,CEF专注于在第三方应用程序中促进嵌入式浏览器用例。CEF通过提供生产质量稳定的API,发布跟踪特定Chromiu…

C#8.0可空引用类型的使用注意要点

最近VS2019正式版发布了,装下来顺便试用了一下C#8.0,最大的看点应该就是可空引用类型了。不过C#8.0仍然处于Beta的状态,而且试用时也遇到了几个坑。背景知识说明:所谓的可空引用类型是指,一旦启用了可空引用类型这个新…

ASP.NET Core Web 项目文件介绍

ASP.NET Core Web 项目文件在本视频中,我们将探索并了解asp.net core项目文件。 我们使用C#作为编程语言,因此项目文件具有.csproj扩展名。如果您使用过以前版本的ASP.NET,那么您可能对此文件非常熟悉,但此文件中包含的…

DotNetCore 3.0 助力 WPF 开发

前言Visual Studio 2019 已经正式发布了,DotNetCore 3.0 的正式版也指日可待。在之前的版本中,作为一名基于微软生态的传统 WPF 程序员看着隔壁同学在开发 DotNetCore 网站时用着各种特性好生羡慕,想着巨硬啥时候能让客户端开发者也能尝尝甜头…

H - Square Card HDU - 7063

H - Square Card HDU - 7063 题意: 有两个圆形区域,一个是得分区域,一个是获得奖金区域,现在你有一个边长为a的正方形,当正方形在如果在某一时刻它严格在圆形范围内,才算合法。 问把牌扔到任意的位置被得分和同时获得…

《从零开始学ASP.NET CORE MVC》:VS2019创建ASP.NET Core Web程序(三)

创建ASP.NET Core Web应用程序如果您使用的是VS2017请看 VS2017创建ASP.NET Core Web程序(三)在这个视频中我们将讨论可用的不同项目模板及其功能预制的项目模板有什么不同,哪些是可以使用的,以及他们的作用。在Visual Studio 2019中创建新的ASP.NET Cor…

ASP.NET Core 沉思录 - 结构化日志

在 《ASP.NET Core 沉思录 - Logging 的两种介入方法》中我们介绍了 ASP.NET Core 中日志的基本设计结构。这一次我们来观察日志记录的格式,并进一步考虑如何在应用程序中根据不同的需求选择不同的日志记录形式。太长不读:直接飞到文章最后 :-DMicrosoft…

为什么我们要做单元测试?(二)

引子当我第一篇博客发布,并被张善友老师的公众号转载之后,在公众号文章和博客园的留言中,许多开发者纷纷表示,单元测试作为企业行为,与实施的技术栈不同,不是开发者个人行为,实施单元测试花费的…

P4159 [SCOI2009] 迷路

P4159 [SCOI2009] 迷路 题意: 该有向图有 n 个节点,节点从 1 至 nn 编号,windy 从节点 1 出发,他必须恰好在 t 时刻到达节点 n。 现在给出该有向图(带边权),你能告诉 windy 总共有多少种不同的路径吗? …

程序员修神之路--提高网站的吞吐量

点击上方蓝色字体,关注我们菜菜哥,有个事你还得帮我呀呦西,YY妹子,最近天这么热了,你怎么还穿这么多?苦笑一下.....前几天写了几个接口,领导让提高一下接口吞吐量这是你技术提高的大好机会呀可吞…

一份.NET 容器化的调查小结

小编在上个月在微信公众号“dotnet跨平台” 做了一个针对.NET 容器化的调查:.NET Core 容器化调查,参与人数702人,由于软件定义基础设施方兴未艾,编排和自动化领域kubernetes占据了主体地位,在平时的工作中和身边的同学…

P2148 [SDOI2009]ED

P2148 [SDOI2009]E&D 题意: 有2n堆石子,第2k-1堆和第2k堆是一组,现在两个人轮流操作,每次操作任选一组石子,然后将改组中的一堆石子移走,将另一堆式子分割成两堆,形成新的两堆石子&#x…

扒一扒.NET Core的环境配置提供程序

前言很久之前,在玩Docker的时候顺便扒了扒,最近,终于下定决心花了些时间整理并成文,希望能够给大家一些帮助。目录 .NET Core中的配置ASP.NET Core中的配置扒一扒环境变量提供程序为什么是“__”?“__”如何变成了“&…

[HNOI2016] 序列(线段树 + 莫队 + 倍增)

problem luogu-P3246 心路历程卡常历程问题存疑 一直在想莫队的做法。发现左右指针的移动对应一段左/右端点固定的子序列&#xff0c;然后可以一个数代表一段相同的贡献。 就开始求 lsti,nxtilst_i,nxt_ilsti​,nxti​ 了。 仔细想想需要找到 lstlsti<l≤lstilst_{lst_…

《从零开始学ASP.NET CORE MVC》:ASP.NET Core 中的 Main方法(5)

本文出自《从零开始学ASP.NET CORE MVC》推荐文章&#xff1a;ASP.NET Core Web 项目文件ASP.NET Core 中的 Main方法一个开始专心写字的人在ASP.NET Core项目中&#xff0c;我们有一个名为Program.cs的文件。在这个文件中&#xff0c;我们有一个public static void Main&#…

.NET中的状态机库Stateless

标题&#xff1a;.NET中的状态机库Stateless 作者&#xff1a;Lamond Lu 地址&#xff1a;https://www.cnblogs.com/lwqlun/p/10674018.html[1]介绍什么是状态机和状态模式状态机是一种用来进行对象建模的工具&#xff0c;它是一个有向图形&#xff0c;由一组节点和一组相应的转…

.net core webapi 前后端开发分离后的配置和部署

背景&#xff1a;现在越来越多的企业都采用了在开发上前后端分离&#xff0c;前后端开发上的分离有很多种&#xff0c;那么今天&#xff0c;我来分享一下项目中得的前后端分离。B/S Saas 项目&#xff1a;&#xff08;这个项目可以理解成个人中心&#xff0c;当然不止这么点功…

ASP.NET Core使用Jaeger实现分布式追踪

前言最近我们公司的部分.NET Core的项目接入了Jaeger&#xff0c;也算是稍微完善了一下.NET团队的技术栈。至于为什么选择Jaeger而不是Skywalking&#xff0c;这个问题我只能回答&#xff0c;大佬们说了算。前段时间也在CSharpCorner写过一篇类似的介绍Exploring Distributed T…

长沙开发者技术大会暨.NET技术社区成立大会倒数第13天

待你扬帆起航&#xff0c;一起精彩纷呈&#xff01;长沙开发者技术大会暨.NET技术社区成立大会倒数第13天&#xff01;2019年4月21日期待与你相聚在.NET技术社区&#xff01;我们今天会完成海报制作和报表表单&#xff0c;海报内容初步如下所示&#xff1a;活动信息 长沙开发者…