最近由于一些原因,一直在研究serverless及相关的技术实现和原理。
从传统SOA架构到容器架构,再到serverless,里面的架构演进历史对于一个亲历者来说感触颇多,下面我们就来简单聊聊传统SOA和面向服务的架构演进,帮助大家更好的理解其中的概念,本人水平有限,如有错误烦请各位大佬指正。
当我们提到SOA(Service-Oriented Architecture)架构的时候想到的是什么?松耦合(Loosely Coupled)?服务拆解?面向服务?
其实个人觉得相对于单机架构来讲,SOA架构解决的是业务可用性,相关服务的水平扩展,以及资源再利用,管制,流程审核等等等。这点其实和当今很火的微服务概念很像,都是以服务作为单位,都比较在意服务的治理和服务复用,微服务其实也是在SOA上做的改进,当然微服务更多强调的是“业务需要彻底的组件化和服务化”,其实本人多Spring Cloud等一些JAVA系的产物并没有什么好感,如果希望拿到一个高性能的RPC框架,可以尝试 TARS 。
那么一个完整的SOA架构体系是怎么样的呢?
如上图所示,SOA架构就是这样的,通过各个服务模块,将较为复杂的业务拆分治理,它的特点是服务是无状态的,即服务在被调用前后本身没有变化,且同一个服务允许同时在多台计算机上运行。那么正是因为如此,就诞生了一系列的中间件产品比如服务总线(service bus),API 网关(API Gateway),消息队列(MQ/kafka)
消息队列在SOA/微服务架构的示意图
这就是传统SOA和中间件的相关说明。
那么我们再来聊聊容器把,众所周知,容器这个概念也是最近才火起来的,依赖与Kubernetes (K8s)的容器编排工具,容器由于其低廉的使用成本,高可用的扩展性,持续交付能力等等,越来越多的企业开始使用并大规模部署容器,最典型的应该是斗鱼,虎牙等一些系列老SOA架构上容器的业务改造。
但是大多数的企业其实对容器的玩法是有误解的,容器单位其实本质是为了方便单个服务的拆解, 看到有很多企业拿容器当KVM那种虚拟化的主机使用,所以吐槽下。
容器和普通KVM,Xen等虚拟化的区别我想大家应该都差不多略有了解,这块就不在展开叙述了。我们来重点说说Kubernetes容器编排对于传统SOA架构的意义和价值。
Kubernetes属于主从分布式架构,主要由Master Node和Worker Node组成,以及包括客户端命令行工具kubectl和其它附加项。Master Node:作为控制节点,对集群进行调度管理;Master Node由API Server、Scheduler、Cluster State Store和Controller-Manger Server所组成;
Worker Node:作为真正的工作节点,运行业务应用的容器;Worker Node包含kubelet、kube proxy和Container Runtime;kubectl:用于通过命令行与API Server进行交互,而对Kubernetes进行操作,实现在集群中进行各种资源的增删改查等操作;
Add-on:是对Kubernetes核心功能的扩展,例如增加网络和网络策略等能力。
那么从上面可知,Kubernetes更多的意义在于对传统SOA的服务器层级做改造,实现自动化部署容器,水平扩容,负载均衡等等分布式的部署环境,这样一方面实现了所谓的“高内聚,松耦合”,另一方面简化了传统SOA的服务器层级的管理。由于集群的特性,可以将业务模型拆分为更细颗粒度的面向服务。
总的来说,不论是Docker,Dubbo还是上升到Kubernetes,他们实现的更多替代的是对服务器层级的集群调度,分布式方面的改造,更多的意义是基于传统SOA做的优化和改进。
那么我们再来看看今天的重头戏,Serverless 。
AWS 的 AWS Lambda 在 Serverless 界是有统治地位的,但是由于各种原因,AWS Lambda 在中国国内鲜为人知,它的理念更多是提倡弱后端,弱运维,以最小的成本来实现业务功能。来用一个很短的视频看下把
它所提倡的更多是函数的概念,可以理解为将K8S的Worker Node封装成简一的单个函数,从而实现单任务,无状态的函数工作流。当然,每家的Serverless架构实现都不尽相同,所以不太可能都依赖于K8s实现,但是不论BaaS或者FaaS基础能力和特性都是一样的。
除了AWS Lambda 还有腾讯云的 SCF,阿里云的函数计算等等,其实Serverless更多看的还是基于Serverless所做的产品附加功能,比如 AWS DynamoDB,AWS API Gateway等等一系列的附加功能,来实现Serverless的易用化与独立性。最近腾讯云出了 SCF (HTTP)版的云函数,可以直接通过HTTP访问请求,感兴趣的童鞋可以去看看。
所以 Serverless 相对于容器,传统SOA不论从设计架构,纬度,和应用方法上都不尽相同,Serverless将SOA的服务概念,容器的工作节点概念,拆分到函数,这就代表如果使用Serverless必须实现业务的云原生,最简单的例子就是如果要把一个单体应用拆分成10个容器,100个函数,并且每个都具有独立的部署周期以及复杂的依赖图,配合成熟健壮的CI/CD以及自动化的系统。把这些和Serverlss一起使用的时候,将会大幅提升敏捷性和创新性,但是如果仅仅只有其中一个,那么带来的损失远大于收益。
Serverless 的使用是有门槛的,尤其对于一些现在还在沿用单体架构的企业来说,如果没有任何Docker/Kubernetes的实施经历。那么就不该从Serverless开始。
如上,就是我对SOA,容器,Serverless的一些思考,最后的最后,如果自己想架构一个独立的Serverless框架应该如何实现呢?
给大家介绍一个Serverless开源框架——Fission
它的架构如下:
简单来说就是一个Web应用,Go语言编写,使用gorilla框架。不过它的模板引擎替换成了Kubernetes中的Service。使用k8s.io/client-go/kubernetes接口来操控。
感谢大佬们来看我的长篇大论,本人水平有限,如有错误,烦请务必指正~~
Sen ne kadar kalsan da geliyorsun benimle. Ben ne kadar gitsem de kalıyorum seninle. – Shakespeare
Bir şeyi sevmenin yolu, bunun kaybolabileceğini fark etmektir. Gilbert K. Chesterton
Kadınlar sözleriyle değil, gözleriyle konuşur aslında. Bu yüzden onları anlamak için dinlemek yetmez, izlemek gerek…
Kendinizi olumlu insanlarla çevirin. Melanie
Sakın unutma, ellerin cebindeyken başarı merdivenlerini çıkamazsın.
Akıl, doldurulacak bir gemi değil, yakılacak bir ateştir. Plutarkhos
Aynaya bakınca kendimi değil kocaman bir yürek .Ve o yürekte ondan da büyük bir sen gördüm.
Her kalpte bir mezarlık vardır.
taraftar tokenlerin en güncel yazıları web sitemizde
[url=http://cialisytab.monster/]cialis in mexico[/url] [url=http://buyrobaxin.shop/]robaxin 850 mg[/url] [url=http://xenical.digital/]generic xenical[/url] [url=http://paroxetine.boutique/]where can i buy paxil online[/url]
[url=http://viagraktabs.monster/]buy real viagra online canada[/url]
Thank you so much for giving everyone a very spectacular possiblity to discover important secrets from this website. It can be so nice and also stuffed with a lot of fun for me personally and my office acquaintances to visit your website particularly three times per week to read through the new issues you will have. And indeed, I am always contented concerning the incredible things you give. Selected 3 areas on this page are truly the most beneficial I have had.
[url=http://buyfinasteride.works/]generic propecia finasteride 1mg[/url]
[url=http://acyclovir.directory/]buying acyclovir online[/url] [url=http://buylisinopril.digital/]lisinopril 20 mg buy[/url] [url=http://buysuhagra.store/]buy suhagra 100mg online india[/url] [url=http://citalopram.boutique/]citalopram 10 mg daily[/url] [url=http://glucophage.digital/]metformin prices[/url] [url=http://buypropecia.works/]propecia 5mg online[/url] [url=http://cialisstab.monster/]generic cialis free shipping[/url]
альтера автосалон москва 27 км 1f9cb664b7 alaoly
[url=https://buysildenafil.boutique/]where can i get viagra over the counter[/url] [url=https://viagrautab.quest/]price of sildenafil 100mg[/url] [url=https://nolvadex.guru/]tamoxifen citrate for men[/url]
Gain and dB cut can be parametrized, sample rate conversion is supported, and a number of useful presets for passive EQ are provided by the author.
en uygun instagram hizmetleri
[url=http://fluoxetine.guru/]fluoxetine 10 mg capsule[/url]
I together with my buddies happened to be going through the best tips and hints found on your web page while quickly developed an awful suspicion I had not expressed respect to the web blog owner for those strategies. Most of the men became absolutely excited to see all of them and now have truly been enjoying these things. Thanks for being well accommodating as well as for making a decision on some fabulous useful guides most people are really desperate to be informed on. Our honest apologies for not saying thanks to you earlier.
Needed to send you the little remark in order to thank you very much yet again about the awesome principles you’ve shown in this case. It’s really strangely generous of you to allow freely what a lot of people would’ve offered for sale as an e-book to make some money for their own end, specifically given that you might well have done it if you ever considered necessary. The strategies in addition served like the great way to comprehend some people have a similar dream just like my very own to know a good deal more when considering this issue. I know there are several more fun situations in the future for individuals who view your blog.
[url=http://nolvadex.guru/]tamoxifen brand name[/url] [url=http://atarax.boutique/]atarax 50 mg tablet[/url] [url=http://lyrica.guru/]lyrica drug cost[/url]
My wife and i were now cheerful Chris managed to conclude his survey because of the precious recommendations he had out of your blog. It is now and again perplexing to just be giving out methods that others may have been selling. So we figure out we have got the blog owner to appreciate for this. The type of illustrations you have made, the simple site menu, the friendships you can give support to instill – it’s got many remarkable, and it’s helping our son in addition to the family reason why the subject is pleasurable, and that is exceptionally pressing. Many thanks for everything!
[url=https://acyclovir.solutions/]zovirax 800 price[/url]
[url=http://zithromaxa.online/]azithromycin 500 mg tablets cost[/url]
I wish to convey my gratitude for your generosity giving support to visitors who absolutely need assistance with in this theme. Your personal dedication to passing the message all-around has been surprisingly practical and have constantly permitted guys like me to attain their targets. The warm and helpful useful information means much to me and even more to my fellow workers. With thanks; from all of us.
[url=https://atarax.boutique/]atarax for children[/url] [url=https://cialisitabs.monster/]buy tadalafil from canada[/url] [url=https://buyfluoxetine.boutique/]fluoxetine 20 mg uk[/url] [url=https://canadianpharmacy.guru/]canadian pharmacy coupon[/url] [url=https://nolvadex.guru/]generic tamoxifen[/url] [url=https://flomax.store/]generic flomax[/url]
[url=http://zofran.digital/]zofran prescription cost[/url]
Ben sevdiğimi demez isem, sevmek derdi boğar beni.
Edebim elvermez edepsizlik edene, Susmak en güzel cevap, edebi elden gidene.
Nefistir seni yolda koyan, yolda kalır nefse uyan. Sabır saadeti ebedi kalır sabır kimde ise o nasip alır.
Ey canımın sahibi Yar! Sen benimle olduktan sonra kaybettiklerimin ne önemi var. – Mevlana
Kütlesi olmayana yerçekimi dokunamaz.
“Mutlu olmayı yarına bırakmak, karşıya geçmek için nehrin durmasını beklemeye benzer ve bilirsin, o nehir asla durmaz.” – Grange
Tanrı kuşları sevdi ve ağaçları yarattı.İnsan kuşları sevdi ve kafesleri yarattı. – Jacques Deval
Kendisine itaat etmek isteyen, nasıl emredeceğini bilmesi gerekir. Niccolo Machiavelli
Bir çift göze aşık ve diğer bütün gözlere körüm..
Dünyanın gerçek gizemi görünmeyende değil, görünendedir.- Oscar Wilde
Arkadaşlık kuvvetli bir bağdır. Paraya ihtiyaç olunca başvurulmazsa, ömür boyu sürer.- Mark Twain
Beraber çalışmaksa gerçek başarıdır. – Henry Ford
Birçok insan yirmi beş yaşında ölür ve yetmiş beşe kadar gömülmez. Benjamin Franklin
Güzel görünen herkes bir gün yaşlanacak. Ama iyi insanlar yaşlansalar da iyi insan olarak kalacaklar.
Başkalarına imrenme, çok kimseler var ki senin hayatına imreniyorlar.
Başkalarına imrenme, çok kimseler var ki senin hayatına imreniyorlar.
Hani dilimizin ucuna gelip de söyleyemediklerimiz var ya; Allah o sözlerin yolunu açık etsin.
Ey hayat ırmağından su içenler! Gelin soralım canlara ki güzelliği ne oldu da gidiyor. Ben hep seninim diyordu, şimdi neyi buldu da gidiyor?
Elli yaşından sonra harfleri yakından seçemezsin ama dönen fırıldakları uzaktan bile anlarsın.
Bir rüya büyü ile gerçek olmaz; ter, kararlılık ve sıkı çalışma gerektirir. Colin Powell
Bazen insan öyle özlenir ki; özlenen bilse, yokluğundan utanır. – Aziz Nesin
İnsan sahip olduklarının toplamı değil fakat henüz gerçekleştiremediklerinin toplamıdır. -Jean Paul Sartre