使用 Tye 辅助开发 k8s 应用竟如此简单(六)

续上篇,这篇我们来进一步探索 Tye 更多的使用方法。本篇我们将进一步研究 Tye 与分布式应用程序运行时 Dapr 如何碰撞出更精彩的火花。

巧了,巧了,真是巧了

今天正值 dapr 1.0 发布的日子。如果你暂时还不了解什么是 dapr。

那不如通过以下简短的视频来了解一下什么是 dapr:

https://www.bilibili.com/video/BV1xz4y167XA/

简单来说, dapr 为开发者提供了一个开发云原生应用所需构件的一个抽象层。透过这个抽象层,开发者可以节约很多基础设施上所需要投入的精力,进一步得到自我解放。

安装 Dapr runtime

为了在开发环境运行 dapr runtime。需要先在开发机上进行一些简单的安装。

开发者可以通过 dapr 文档库中的 get started 章节来了解如何在本地初始化开发环境:

https://docs.dapr.io/getting-started/

当然,你也可以通过社区提供的中文文档库来了解相关过程:

https://dapr-cn.gitee.io/getting-started/

dapr 中文社区致力于为中文用户提供更加易读的 dapr 文档中文译制内容。现在,我们仍然需要更多志同道合的伙伴一同献力,协作奋进。如果您有意愿,欢迎前往项目首页进行了解:https://github.com/dapr-cn/docs

创建测试应用

首先,我们创建一个和 {% post_link Newbe.Claptrap/Try-Tye-2 %} 中提到一样的测试用例。

即,包含两个服务的测试应用。

然后,修改tye.yml以加入 dapr 扩展:

name: tyetest
extensions:- name: dapr
services:- name: tyetestproject: TyeTest/TyeTest.csproj- name: tyetest2project: TyeTest2/TyeTest2.csproj

运行tye run,便可以在 tye dashboard 中查看成功运行的服务实例和 dapr 实例:

dapr instance

使用 swagger 页面,可以正常的访问服务。

同时,按照 dapr http 访问服务也是可以的:

GET http://localhost:5295/v1.0/invoke/tyetest/method/WeatherForecast

使用以上方式访问得到的结果和 swagger 得到的一样。其中 5295 端口就是上图中所示的 dapr http 终结点。可以通过日志查看到这个信息:

[tyetest-dapr_6432571f-b]:C:\Users\Administrator/.dapr/bin/daprd.exe -app-id tyetest -app-port 5290 -dapr-grpc-port 5294 --dapr-http-port 5295 --metrics-port 5296 --placement-host-address localhost:5289

这便是使用 tye 简化 dapr 应用开发的简易示例。

来点复杂的例子

下面,我们来尝试运行 Newbe.Claptrap 的最新模板项目,体验一下 Tye 与 dapr 结合的强力效果。

安装项目模板

进入 nuget.org 查询最新的 Newbe.Claptrap.Template 版本,并且使用界面上的命令行安装项目模板:

https://www.nuget.org/packages/Newbe.Claptrap.Template/

dotnet new --install Newbe.Claptrap.Template::0.9.4

使用模板创建项目

创建一个文件夹,然后在文件夹中运行以下命令以创建项目:

dotnet new newbe.claptrap --name HelloClaptrap

部署辅助组件

新建好的项目中存在一个docker-compose.yml文件,用于开发者部署 seq 和 zipkin 等等辅助组件。

将此文件移动到单独的位置,使用docker-compose up -d便可以顺利启动服务。

当然,开发者也可以自行采用其他方式部署,或者不要部署。这并非必要的内容。

启动项目

在解决方案文件夹,使用tye run便可以顺利启动项目。启动之后可以在 tye dashboard 上查看到项目模板包含的所有项目:

newbe.claptrap service

进入helloclaptrap-webapi服务的 swagger 页面。调用/AuctionItems/{itemId}/statusAPI:

newbe.claptrap AuctionItems

这就说明服务已经全部启动成功了。

这实际上是一个拍卖竞价的样例项目。更多的细节可以前往 https://claptrap.newbe.pro 进行了解。

调用之后可以在 Jaeger UI 上查看到服务之间的调用关系和性能细节:

newbe.claptrap AuctionItems

小结

本篇,我们尝试了 Tye 和 Dapr 的联动操作。初步体验了一下 dapr 的特性。

开发者如果想要了解更多关于 dapr 的内容,欢迎阅读官网文档进行了解。

至此,本系列也就告一段落。如果您觉得本系列内容对您有所帮助,欢迎转发、评论、收藏文章以及项目。

本系列所有测试代码,均可以在以下仓库查看:

https://github.com/newbe36524/Newbe.Demo/tree/master/src/BlogDemos/Newbe.Tye

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

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

相关文章

BeetleX.WebFamily针对Web SPA应用的改进

BeetleX.WebFamily1.0在集成vueelementaxios的基础上添加应用页、窗体布局和登陆验证等功能。通过以上功能开发Web SPA应用时只需要编写vue控件和配置菜单即可实现应用开发。使用创建一个.net控制台项目,然后通过Nuget引入BeetleX.WebFamily1.0组件,并在…

php acl rbac,建站常用的用户权限管理模型ACL和RBAC的区别

常用的权限管理模型ACL和RBAC的区别1.ACLACL是最早也是最基本的一种访问控制机制,它的原理非常简单:每一项资源,都配有一个列表,这个列表记录的就是哪些用户可以对这项资源执行CRUD中的那些操作。当系统试图访问这项资源时&#x…

华为年终奖,小员工分百万!任正非:钱给多了,不是人才也变成了人才!

华为今年又提前发了巨额年终奖,并公布了新的奖金方案,23级奖金额有近百万,并且宣称“上不封顶、绝不拖欠”,一时间引起热议。任正非签发的内部文件:华为不搞按资排辈,只要做出突出贡献,在新方案…

Redis缓存穿透、缓存雪崩、缓存击穿好好说说

前言 Redis是目前非常流行的缓存数据库啦,其中一个主要作用就是为了避免大量请求直接打到数据库,以此来缓解数据库服务器压力;用上缓存难道就高枕无忧了吗?no,no,no,没有这么完美的技术, 缓存穿透、缓存雪崩…

这是“我”的故事 —— 董彬

点击蓝字 关注我们作者:董彬校对/文章优化:刘轶民排版:Rani视频地址:https://www.bilibili.com/video/BV1NK4y1p7Ys与世界周旋的程序员大家好,我叫董彬 ,现就职于野村信息, Title 是 Senior …

我用Python玩小游戏“跳一跳”,瞬间称霸了朋友圈!

“从前几天微信最新版本 6.6.1 的更新开始,微信小程序游戏“跳一跳”似乎在一夜之间风靡了朋友圈。它甚至比五六年前的飞机大战游戏都火爆,这种小游戏的火爆不仅仅是因为有魔性、有意思,更重要的是可以进行好友 PK!“跳一跳”的小…

expsky.php,Typecho漏洞利用工具首发,半分钟完成渗透

原标题:Typecho漏洞利用工具首发,半分钟完成渗透*本文原创作者:expsky,本文属FreeBuf原创奖励计划,未经许可禁止转载声明:本工具由expsky原创,仅用于技术研究,不恰当使用会对网站造成…

BeetleX之Web网关1.5.7安装使用

新版的网关主要升级到BeetleX最新版提高http协议的解释性能,从而让网关的吞吐能力进一步提升,在功能界面上也做了简单的调整让操作更方便,修复linux下无权限启动进程问题。如果在windows上不想用IIS,linux下用nginx怕麻烦&#xf…

费马大定理,集惊险与武侠于一体

悬案费马大定理从提出到证明的过程,就是一部不折不扣的惊险小说。一个读者,在自己看过的书空白处留下附注。除了他自己,还有谁会关注呢?但是,法国人费马死后,他在一本《算术》书上所写的注记并没有随之湮没…

全国计算机技术与软件专业技术资格(水平)考试基础知识

全国计算机技术与软件专业技术资格(水平)考试基础知识 -------------------------------------------------------------------------------- 1、什么是计算机技术与软件专业技术资格(水平)考试?  计算机技术与软件专…

GPU迎来投资热潮 退潮后谁在裸泳

近期,数家GPU设计公司获得资本青睐,摩尔线程完成数轮投资获得数十亿元,无独有偶,壁仞科技宣布完成总额11亿元的A轮融资,沐曦集成电路宣布完成近亿元天使轮融资,登临科技宣布完成A轮融资。另外,天…

All in AI, 一句话看出了百度的野心,也看到了人工智能人才的未来

最近几天,在 2018 CES科技盛会上,百度无人驾驶系统 Apollo 2.0 正式开放,百度COO 陆奇表示,借着 Apollo 平台,他想打造中国无人车国家队!All in AI, 一句话看出了百度的野心。而百度,只是 China…

知名Node.js组件存在代码注入漏洞

喜欢就关注我们吧!日前,一个被大量下载的 Node.js 组件被发现其含有一个高危的代码注入漏洞。该漏洞被追踪为 CVE-2021-21315,影响了「systeminformation」npm 组件的安全性,该组件每周的下载量约为 80 万次,自诞生以来…

VPC2007差分硬盘让小硬盘也能跑多个虚拟机

在Winos中看到http://bbs.winos.cn/thread-43391-1-1.html于 2008-9-2 16:02 发表基于Vmware Workstation 让你的小硬盘也能跑多个虚拟机个人认为有些做得不是很人性化。比如说我要把虚拟机母板封装好之后要修改为只读,而且还要隐藏起来。那么我再要创建虚拟机就要…

2017新生儿爆款名字出炉!90后的父母们最受欢迎的居然是.....

名字跟随一生因此很多家长在给孩子起名字的时候都相当谨慎除了日常迷信外不重名成为取名的重要考虑因素学校走廊里喊一声“子涵”,竟有3人回头!!你知道你家孩子的名字和多少人重名了吗?近日,江苏苏州一家科技公司发布《…

Kubernetes中分布式存储Rook-Ceph的使用:一个ASP.NET Core MVC的案例

在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,我快速介绍了Kubernetes中分布式存储Rook-Ceph的部署过程,这里介绍如何在部署于Kubernetes的ASP.NET Core MVC的应用程序中使用Rook-Ceph所创建的存储对象。构建ASP.NET Core MVC (.NET 5)应用…

在Windows上安装Docker

背景Windows的Docker桌面是Microsoft Windows的Docker的社区版本。您可以从Docker Hub下载适用于Windows的Docker桌面。该页面包含有关在Windows 10 Pro,Enterprise和Education上安装Docker Desktop的信息。如果要查找有关在Windows 10 Home上安装Docker桌面的信息.…

全景图解高铁数据,谁是最有潜力的高铁城市?

经过十年的快速发展,高铁已成为人们日常出行的重要交通工具,“千里江陵一日还”早已变成现实,高铁改变的不仅是不断刷新的“中国速度”,更为区域与城市发展带来新的模式与机遇。高铁以高速、大容量、集约型、通勤化的特征&#xf…

原型链的理解_javascript之快速理解(原型链)

希望通过比较通俗易懂的讲解和简短的文字,让大家能快速理解什么是原型链,如果有不对的地方也请各位大佬快速纠正,一起共勉,使我们初学者快速进阶!话不多说,我们切入正题,按着我的步骤一步一步往…

如何轻松将上亿的数据玩弄于股掌之中?

在日常生活中,我们经常会遇到排序问题:在打扑克牌的时候,原本拿到手上的牌是乱序的,我们会按照自己喜好的顺序一张一张排好手上的牌,最后看起来是顺眼的。比如小智打扑克牌会将自己手上的牌排成这样:小智排…