打字建站宝微信平台制作网站开发

web/2025/10/8 22:23:26/文章来源:
打字建站宝,微信平台制作网站开发,网站做多个页面,国内永久免费crm系统软件使用 Tye 辅助开发 k8s 应用竟如此简单#xff08;一#xff09;使用 Tye 辅助开发 k8s 应用竟如此简单#xff08;二#xff09;续上篇#xff0c;这篇我们来进一步探索 Tye 更多的使用方法。本篇我们来了解一下如何在 Tye 中如何对数据库进行链接。Newbe.Claptrap 是一个… 使用 Tye 辅助开发 k8s 应用竟如此简单一使用 Tye 辅助开发 k8s 应用竟如此简单二续上篇这篇我们来进一步探索 Tye 更多的使用方法。本篇我们来了解一下如何在 Tye 中如何对数据库进行链接。Newbe.Claptrap 是一个用于轻松应对并发问题的分布式开发框架。如果您是首次阅读本系列文章。建议可以先从本文末尾的入门文章开始了解。中间件链接绝大多数服务都需要用到外部中间件来支持应用程序的正常运行通常来说就包含有数据库、缓存中间件、消息队列和文件系统等等。因此在开发过程中需要在应用程序中管理对这些中间件的链接字符串。Tye 提供了一种方式以便更加容易的管理这些链接字符串。使用 Tye 启动 mongo首先我们使用 Tye 来启动一个 mongo。手动创建一个 tye.yml:tye.ymlname: mongo-sample services:- name: mongoimage: mongoenv:- name: ME_CONFIG_MONGODB_ADMINUSERNAMEvalue: root- name: ME_CONFIG_MONGODB_ADMINPASSWORDvalue: example- name: mongo-expressimage: mongo-expressbindings:- port: 8081containerPort: 8081protocol: httpenv:- name: ME_CONFIG_MONGODB_ADMINUSERNAMEvalue: root- name: ME_CONFIG_MONGODB_ADMINPASSWORDvalue: example 使用 tye run 便可以在本地启动一个 mongo 并且在 http://localhost:8081 通过 ui 查看 mongo 中的数据情况实际上就是使用 Tye 控制 docker desktop 启动 mongo。因此需要提前在本地安装好 docker desktop以便启动。当然这实际上和使用 docker-compose 没有什么实质性的区别。创建应用程序连接 mongo下面我们创建一个应用并且将应用与 mongo 进行连接。创建测试引用并安装必要的包create-tye-mongo-test.shdotnet new sln -n TyeTest dotnet new webapi -n TyeTest dotnet sln ./TyeTest.sln add ./TyeTest/TyeTest.csproj dotnet add ./TyeTest/TyeTest.csproj package Microsoft.Tye.Extensions.Configuration --version 0.6.0-alpha.21070.5 dotnet add ./TyeTest/TyeTest.csproj package MongoDB.Driver 进入 Startup向容器中注册 MongoClient :Startup.cs// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) {services.AddControllers();services.AddSwaggerGen(c { c.SwaggerDoc(v1, new OpenApiInfo {Title TyeTest, Version v1}); });services.AddScoped(p {var config p.GetRequiredServiceIConfiguration();var connectionString config.GetConnectionString(mongo);Console.WriteLine(connectionString);var client new MongoClient(connectionString);return client;}); } 值得注意的是这里使用了一个扩展方法从 IConfiguration 中读取 mongo 的连接字符串mongo 实际上就是定义在 tye 中的服务名称。GetConnectionString 是来自于 Microsoft.Tye.Extensions.Configuration 的扩展方法MongoClient 应该全局单例还是 Scope 其实笔者也没查过资料。实际项目开发者注意按照需求调整。打开 WeatherForecastController让我们在每次接受请求时都写入一些数据到 mongo 中以验证效果。WeatherForecastController.csusing System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using MongoDB.Driver;namespace TyeTest.Controllers {[ApiController][Route([controller])]public class WeatherForecastController : ControllerBase{private static readonly string[] Summaries new[]{Freezing, Bracing, Chilly, Cool, Mild, Warm, Balmy, Hot, Sweltering, Scorching};private readonly ILoggerWeatherForecastController _logger;private readonly MongoClient _mongoClient;public WeatherForecastController(ILoggerWeatherForecastController logger,MongoClient mongoClient){_logger logger;_mongoClient mongoClient;}[HttpGet]public IEnumerableWeatherForecast Get(){var rng new Random();var result Enumerable.Range(1, 5).Select(index new WeatherForecast{Date DateTime.Now.AddDays(index),TemperatureC rng.Next(-20, 55),Summary Summaries[rng.Next(Summaries.Length)]}).ToArray();var mongoCollection _mongoClient.GetDatabase(nameof(WeatherForecast)).GetCollectionWeatherForecast(nameof(WeatherForecast));mongoCollection.InsertMany(result);return result;}} } 至此测试引用就创建完毕了。预期的效果是当接受到请求时就会想 mongo 中的 WeatherForecast collection 写入一些数据。可以通过 mongo express UI 进行查看。修改 tye.yml 以配置链接串由于前面我们是手动创建过了 tye.yml。因此我们现在直接在原来的基础上进行修改以便加入测试应用。首先将之前创建好的 tye.yml 放置到 TyeTest.sln 的根目录。然后修改为如下形式:tye.ymlname: mongo-sample services:- name: mongoimage: mongoenv:- name: ME_CONFIG_MONGODB_ADMINUSERNAMEvalue: root- name: ME_CONFIG_MONGODB_ADMINPASSWORDvalue: examplebindings:- containerPort: 27017connectionString: mongodb://${host}:${port}- name: mongo-expressimage: mongo-expressbindings:- port: 8081containerPort: 8081protocol: httpenv:- name: ME_CONFIG_MONGODB_ADMINUSERNAMEvalue: root- name: ME_CONFIG_MONGODB_ADMINPASSWORDvalue: example- name: tyetestproject: TyeTest/TyeTest.csproj 对比之前一共有两处修改增加了 tyetest 服务配置的节点以便能够启动测试应用在 mongo 服务上增加了 bindings。这是 tye 中组织服务之间相互连接的一种方式。其中的 connectionString 便是其他服务连接 mongo 所使用的链接串。修改完毕之后。使用 tye run 启动应用。打开 swagger 页面并访问 API便可以在 mongo express 中查看到数据已经成功完成了写入查看效果之后可以使用 CtrlC 停止 tye 以移除相关容器。最后发到 K8S 里面试一下这次的样例并不是直接使用 tye deploy 就可以完成了。首先通常来说中间件在生成环境中不太可能是通过部署在容器中的方式而存在的。即便是使用容器部署也不会每次 deploy 都希望重新部署。也就是说通常是直接连接已有的中间件就可以了。其次中间件连接字符串通常来说是以 secret 的形式存在在 k8s 中。故而不太可能在 tye 脚本中进行指定。故而tye 仅仅会帮助开发者检查需要部署的目标集群中是否已经存在符合要求的 secret。当且仅当目标集群中存在符合要求的 secret 才能部署。以本示例为例需要在目标集群中存在 binding-production-mongo-secret 对应的 secret 才能都实现使用 tye 进行部署。具体的名称约定规则可以参照如下内容https://github.com/dotnet/tye/blob/master/docs/reference/deployment.md#validate-secrets小结本篇我们已经顺利完成了使用 Tye 来完成应用与中间件之间的链接配置。不过还遗留一些问题没有细说如果一个中间存在多个绑定该如何处理https 绑定该如何处理详细这些内容请移步官方文档进行查看https://github.com/dotnet/tye/blob/master/docs/reference/service_discovery.md下一篇我们将进一步在 Tye 中实现对纷繁复杂的日志进行统一管理。

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

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

相关文章

懒人模板网站网站商品展示设计

Domain Admin:一目了然,一键掌握,您的全方位图形化域名与SSL证书智能管家!- 精选真开源,释放新价值。 概览 Domain Admin是一个基于Python Vue3.js 技术栈实现的域名和SSL证书监测平台,旨在为用户打造一个…

程序员和网站建设企业搭建pc端网站

WPF列表性能提高技术 WPF数据绑定系统不仅需要绑定功能,还需要能够处理大量数据而不会降低显示速度和消耗大量内存,WPF提供了相关的控件以提高性能,所有继承自ItemsControl的控件都支持该技术。 虚拟化 UI虚拟化是列表仅仅为当前显示项创建…

如何在电商平台做好企业网站推广不用框架做网站

一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元 1、用万用表电阻挡测量实验板(箱)上电位器(可调电阻)的参数范围。 0~1kΩ电阻: 1k*0%=0 1k*100%=1k 所以范围为0~1k 0~10kΩ电阻: 10k*0%=0 10k*…

校园网站制作如何做好一名销售

本文作者:孙雪丽文字编辑:周聪聪技术总编:张学人重大通知!!!2019年6月22日至24日在河南郑州举行Stata编程技术特别训练营,招生工作已经圆满结束。另外爬虫俱乐部将于2019年7月5日至7月8日在武汉…

陵水网站建设哪家专业十大免费ppt网站在线

Java线程池的类型和使用 引言 在并发编程中,线程池是一种非常重要的工具,它可以实现线程的复用,避免频繁地创建新线程,从而提高程序的性能和效率。Java的并发库提供了丰富的线程池功能,本文将介绍Java线程池的类型和…

南阳网站制作网站建设明细报价表

一、查看进程:ps 或 ps -a 二、命令后台运行: sudo ./runmyled.o& 命令后边跟个&, 返回进程id号 三、查看当前的进程: 四、删除进程:sudo kill id1 id2 id3

郑州网站及优化重庆软装设计公司官网

深入解析大语言模型显存占用:训练与推理 文章脉络 估算模型保存大小 估算模型在训练时占用显存的大小 全量参数训练 PEFT训练 估算模型在推理时占用显存的大小 总结 对于NLP领域的从业者和研究人员来说,有没有遇到过这样一个场景,你的…

淘宝上做的网站网站建设开发收费

文章目录一、软件介绍二、安装 Homebrew使用 Ruby 或者 Shell 脚本安装手动 clone 安装三、卸载 Homebrew四、Homebrew 安装目录五、安装包所在位置六、程序安装目录七、软件版本切换八、清除旧版本文件九、brew 命令汇总安装、升级和删除软件包查看和检验软件包参考示例服务相…

常州建站价格一个完整的网站制作流程

WebService 1. WebService基本认识 WebService最早是微软提出了一种以XML为载体网络信息传输的规范,现在几乎所有的语言与平台都支持,带有状态机制,不依赖于容器,可以发送一个xml作为其请求内容. WebService通常是基于http的远程方…

哪里有最新的网站源码本地app软件制作公司

科目编号:8 -6-6- 6 座位号 2017-2018学年度第二学期期末考试 建筑结构基础 试题 2018年 7 月 一、单选题(本大题共10小题,每小题4分,共计40分) (★请考生务必将答案填入到下面对应序号的答题框中★&#…

兰考县住房和城乡建设局网站外国购物网站设计风格

文章目录 1 自回归模型AR Model1.1 自回归模型 vs 多元线性回归模型1.1.1 线性回归1.1.2 AR(1)模型1.1.3 AR(p)模型 1.2 AR建模问题 2 移动平均模型 MA Model2.1 MA模型的数学表示2.1.1 MA(1)模型2.2.2 MA(q)模型 2.2 MA建模问题 ARIMA模型是AR模型(自回归模型&…

求西北地区网站建设专家 西安沉睡网络 官方网址?网站建设行业细分

1.Three.js 实现模型材质局部辉光效果 2.解决辉光效果影响场景背景图显示的问题 相关API的使用: 1. EffectComposer(渲染后处理的通用框架,用于将多个渲染通道(pass)组合在一起创建特定的视觉效果) 2. …

简单的网站建设步骤网站图片居中代码

文字排版--粗体 我们还可以使用css样式来改变文字的样式:粗体、斜体、下划线、删除线,可以使用下面代码实现设置文字以粗体样式显示出来。 p span{font-weight:bold;} 在这里大家可以看到,如果想为文字设置粗体是有单独的css样式来实现的&…

企业网站建设大概的费用清远市发布

深度优先搜索DFS搜索 DFS:从根节点出发,寻找子节点,到最深层返回到上一层继续递归搜索。 B3621 枚举元组 题目传送 题面 题目描述 n 元组是指由 n 个元素组成的序列。例如 (1,1,2) 是一个三元组、(233,254,277,123)是一个四元组。 给定…

网站设计论文答辩问题及答案品划做网站

反转字符串中的元音字符Given a string and we have to eliminate/ remove all vowels from the string using C program. 给定一个字符串,我们必须使用C程序从字符串中消除/删除所有元音。 To eliminate/remove the vowels 消除/删除元音 We will traverse (reac…

设计类的网站和简介怎么开通自己的微信公众号

本文非原创 可分为:交叉连接、内连接、外连接、自连接 1.使用交叉连接: 它是非限制连接,就是将两个表格不加任何条件的组合在一起, 即第一个表格的所有记录分别和第二个表格的每一条记录相连接 组合成新的记录,连接后结…

网站免费在线观看app大全免费软件下载安装

文章目录 问题举例问题分析解决办法问题举例 我们在使用ArcGIS时经常会碰到这样的问题:将地图文档(.mxd)保存到本地并拷贝到别的电脑上或改变一个路径时,出现数据丢失的现象,具体表现为图层前面出现一个红色的感叹号,如下图所示。 出现以上问题的根本原因是数据GSS.tif的…

帝国程序如何改网站标题单位门户网站功能

注意:本节主要讲React中的虚拟DOM,但是虚拟DOM并不是React中特有的内容。 1. React 中虚拟 DOM是什么? 虚拟DOM是对真实DOM的描述,虚拟DOM是JS对象,实际上就是 JSX 通过 babel 转换成 React.createElement()&#xff…

网站建设 网页设计 网站制作织梦猫html5高端网络服务机构网站模板

数组的创建和使用 奇数位于偶数之前冒泡排序两数之和只出现一次的数字多数元素存在连续三个奇数的数组 奇数位于偶数之前 调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。 如数组:[1,2,3,4,5,6] 调整后可能是:[1, 5, 3, 4, 2,…

西安网站开发定制制作后台网站开发文档

六大设计原则 1、单一职责原则 一个类或者模块只负责完成一个职责或者功能。 2、开放封闭原则 规定软件中的对象、类、模块和函数对扩展应该是开放的,对于修改应该是封闭的。用抽象定义结构,用具体实现扩展细节。 3、里氏替换原则 如果S是T的子类型…