网站设计需求两学一做登录网站

pingmian/2026/1/21 16:04:44/文章来源:
网站设计需求,两学一做登录网站,泰安电视台新闻综合频道,校园网站建设教程关于 Neting刚开始的时候是打算使用微软官方的 Yarp 库#xff0c;实现一个 API 网关。目前写完了查看 Kubernetes Service 信息、创建 Route 和 Cluster 和绑定 Kubernetes Service。简单来说#xff0c;就是完成了基础部分#xff0c;配置路由和后端服务绑定#xff0c;如… 关于 Neting刚开始的时候是打算使用微软官方的 Yarp 库实现一个 API 网关。目前写完了查看 Kubernetes Service 信息、创建 Route 和 Cluster 和绑定 Kubernetes Service。简单来说就是完成了基础部分配置路由和后端服务绑定如果想实现动态路由和直接转发等功能只需要按照官方的文档增加中间件即可。原本打算使用 .NET 6 的 AOT(一共40MB) 但是打包运行会容易出现一些依赖问题和环境问题因此放弃了依然采用 Runtime 应用 的方式部署进行总共 120 MB 左右。后端项目地址https://github.com/whuanle/neting前端项目地址https://github.com/whuanle/neting-web体验地址http://neting.whuanle.cn:30080/大概界面是这样的Route即来源入口支持 http/https 和 gRPCRoute 是设计进入集群前的访问者流量如何绑定后端服务可以配置访问者 URL 的区配规则Cluster后端服务一个 Cluster 可以绑定多个类型的后端服务主要实现一个域名不同的后缀访问多个微服务或者同一个实例负载均衡等Service查看 Kubernetes Service 的一些网络信息Neting 目前只实现了简单的配置仅供读者了解 Yarp 以及入门 Kubernetes API 开发、监控集群资源等。读者也可以从中了解 etcd 的使用如何设计一个 Kubernetes Controller 应用。基础功能已经做了读者可根据需求自行增加中间件即可。下面介绍如何部署 Neting 项目需要读者提前创建好集群。谈谈对 Yarp 的看法。首先Yarp 的仓库地址是 https://github.com/microsoft/reverse-proxy仓库在微软的官方账号下从了解到的信息来看Yarp 的出现主要是解决 Microsoft 内部的需求也有人说是为了给 Azure 用。仓库代码目标也是主要解决微软内部需求很多 API 对外部开发者也不是很友好实际开发起来有一定难度当然可定制性也比较多主要从 ASP.NET Core 的中间件下手做各方面的扩展。另外这个项目不是成熟项目Yarp 只是一个库它不是一个完整应用很多地方还没有确定其稳定性也没有性能测试报告等也没有基于此的成熟的应用出现。API 上和其他方面开发难度还是比较复杂的包括文档很多地方也没有说清楚。部署 etcdNeting 的主要设计是 etcd 作为数据存储后端当用户创建反向代理或者其他类型的规则时etcd Watch 自动通知 Neing 实例刷新这些配置到内存中交由 Yarp 使用(当然也可以不放到内存在需要使用的时候自动从 etcd 中取)。Neting 使用 etcd 作为存储后端etcd 支持集群但是这里为了方便使用单个 etcd 实例。因为 etcd 是有状态应用因此需要绑定一个存储卷。另外 etcd 也需要创建一个 service以便在集群中访问实例。etcd 集群(这里是单实例集群) - Service(名称为neting-svc)↓ PersistentVolumeClaim↓ PersistentVolume你可以在项目的 yaml 下面找到 etcd.yaml 和 etcds.yaml 、neting-etcd.yaml 三个文件查看如何部署 etcd 集群。为了方便创建的存储卷是本地卷不能跨节点共享数据。当然你也可以通过修改 neting-etcd.yaml 文件使用其他类型的卷。hostPath:# 宿主上目录位置需要先提前创建path: /data/etcd# 此字段为可选type: Directory将 neting-etcd.yaml 文件上传到集群然后创建 etcd 实例。rootmaster:~/neting# kubectl apply -f neting-etcd.yaml service/neting-etcd created statefulset.apps/neting-etcd created persistentvolume/neting-etcd created创建 etcd 集群的时候会创建多个相关的资源。rootmaster:~/neting# kubectl get statefulset NAME READY AGE neting-etcd 1/1 36srootmaster:~/neting# kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS neting-etcd 1Gi RWO Recycle Availablerootmaster:~/neting# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE neting-etcd ClusterIP 10.96.206.255 none 2379/TCP,2380/TCP 54s其实还包括 PersistentVolumeClaim可以执行 kubectl get pvc 查看。创建 secretsecret 的主要作用是给 Neting 提供用户登录的账号密码即前面提到的 admin/admin123这个配置写在了 secret.yaml。secret.yaml 的全部内容如下apiVersion: v1 kind: Secret metadata:name: neting-basic-auth type: Opaque stringData: # Neting 的登录账号密码NETING_USER: adminNETING_PASSWORD: admin123NETING_TOKENKEY: dzbfhisj3411DDFF5%$%^这个配置很简单其中 NETING_TOKENKEY 表示签名 token 的密钥Neting 使用 Jwt Token 做用户凭证在颁发凭证给用户时需要加密用户信息签名。上传 secret.yaml 到集群中然后创建它。Secret 中的信息最终会生成 base64Kubernetes 的 etcd 中(注不是前面自行创建的 etcd)。secret 中的信息最终会以环境变量的形式出现在 Neting Pod 中。rootmaster:~/neting# kubectl apply -f secret.yaml secret/neting-basic-auth createdrootmaster:~/neting# kubectl get secret NAME TYPE DATA AGE neting-basic-auth Opaque 3 10s ... data:NETING_PASSWORD: YWRtaW4xMjMNETING_TOKENKEY: ZHpiZmhpc2pAMzQxMURERkY1JSQlXiYmNETING_USER: YWRtaW4 kind: Secret部署 NetingNeting 的依赖关系如下Neting - 启动(Secret)↓ Service - etcd↓ etcd 实例Neting 是由 ASP.NET Core API React/Ant Design 编写的 Web 项目为了结构简单Neting 在 wwwroot 目录托管了前端静态文件以便在同一个端口下访问并且减少跨域、绑定 IP 等事情。Neting 已被上传到阿里云镜像仓库中docker pull 地址  registry.cn-hangzhou.aliyuncs.com/whuanle/neting:review1.0Neting 是需要在 Pod 中连接到 Kubernetes API Server 的因此需要配置 ServiceAccount 或者直接使用 Kubeconfig。遗憾的是C# 的 KubernetesClient 对 ServiceAccount 支持并不好因此只能使用 Kubeconfig当然直接使用 Kubeconfig 可能会带来一些安全问题好在这是 DemoNeting 只会使用 获取 Servive 和 Endpoint 部分的信息不会对集群进行修改、删除等操作因此如果需要更高安全级别的操作可尝试自行解决 Kubenetes - C# 的 ServiceAccount 问题。Kubernetes 和 etcd 的 C# SDK 体验不佳读者搞云原生中间件的时候还是用 Go 搞比较好C# 适合写业务。将你的 Kubernetes 管理配置文件复制到 /root/.kube/config 中。注意这一步一定要在会被调度 Pod 运行的节点上处理因为这个配置文件不能跨节点使用。cp -f /etc/kubernetes/admin.conf /root/.kube/config然后启动 Netingkubectl apply -f neting.yaml接着为 Neting 创建 Service以便在外网访问。rootmaster:~/neting# kubectl apply -f neting-svc.yaml service/neting createdrootmaster:~/neting# kubectl get svc -o wide neting NodePort 10.102.240.255 none 80:30080/TCP 11s appneting neting-etcd ClusterIP 10.96.206.255 none 2379/TCP,2380/TCP 31m appneting-etcd部署完成后可以通过节点的 IP 和 30080 端口访问到。接着随便点击一个菜单便会要求登录。账号密码分别是 admin、admin123。登录后凭证会存储到你的浏览器中有效期为 7 天。点击 Service 可以看到集群中的 Service 的信息。使用接着我们来创建 Yarp 反向代理 配置。Yarp 的反向代理对象绑定分为两个部分Route 和 Cluster。Cluster 即是服务后端实例如你有一个应用部署了 N 个实例每个实例都有一个 IP那么 Cluster 需要记录你这些实例的 IP以便在访问时通过负载均衡算法选择其中一个访问。YARP 带有内置的负载平衡算法但也为任何自定义负载平衡方法提供了可扩展性。这里就不展开来讲。读者可以参考 https://microsoft.github.io/reverse-proxy/articles/load-balancing.html我的 Kubernetes 中有测试 Ingress 时留下来的两个应用 web1 和 web2这里可以使用一下。接着笔者到域名管理处解析了一个域名绑定应用。接着创建 Route。是可以基于 Yarp 项目设计一个 API 网关或者代替 Kubernetes 的 Ingress 实现流量入口API 网关 负载均衡。说不定你还可以编写类似 Dapr 的服务网格功能使用边车模式为集群中的应用提供非侵入式流量代理服务。介绍一下项目Neting 就是后端项目NetingCrdBuilder 跟当前项目无关是笔者本来打算做类似 Dapr创建自定义资源以及以及 Kubernetes Operater 用的不想写了就不写了。Yarp.ReverseProxy 是 Yarp 基础库为了发表调试和查看源码不通过 Nuget 引用而是抽取源码通过代码直接引用。后端项目大部分都写了注释这里就不再多说了。如果想在本地测试和开发可以先把前后端项目拉下来。本地开发你需要在后端项目的 appsettings.json 或 appsettings.Development.json 文件修改配置。其中 admin.conf 是 Kubernetes API Server 连接的验证配置文件通过配置文件与 Kuberntes 连接的时候才能通过授权访问资源。代码在 KubernetesExtensions 中你也可以通过 Kubernetes proxy 等方式访问 Kubernetes 进行开发。然后需要在前端的 Constants.js 文件中配置你本地的后端地址。export const Options {// host: http://127.0.0.1:80 // 开发配置host: // 部署配置 }如果前后端都在同一个端口下则 host: 即可。

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

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

相关文章

重庆公司网站建设步骤谷歌wordpress优化

四次挥手 1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN1,其序列号为sequ(等于前已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN_WAIT_1&#xff08…

安全网站建设情况微信网页版文件传输助手

引言 C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。它在编程语言中具有举足轻重的地位。 此文为【C语言必知必会】系列第四篇,进行C语言顺序结构的专项练习,结合专题优质题目,带领读者从0开始&#xff0…

怎么样让网站正常解析老铁外链

责任链模式适用于需要将请求和处理解耦的场景,同时又需要动态地组织处理逻辑的场景。 通过使用责任链模式,可以实现请求的动态处理、灵活的扩展和简化的代码编写,提高系统的可维护性和可扩展性。 一、责任链入门 以下这是GPT生成的责任链代…

做网站的团队电子商务营销优势

什么是链表 离散,就是“分离的、散开的” 链表是什么样子的: 有限个节点离散分配 彼此间通过指针相连 除了首尾节点,每个节点都只有一个前驱节点和一个后继节点 首节点没有前驱结点,尾节点没有后继节点 基本概念术语&#xf…

医院网站建设 不足重庆设计网站

一. 简介 EF连接数据库有三种模式,分别是DBFirst、ModelFirst、CodeFirst,分别适用于不同的开发场景。 该章节,将主要介绍EF的DBFirst连接SQLServer数据库和MySql数据库两种操作方式 该模式在EF中出现的出现的最早,符合我们的传统…

ps做字幕模板下载网站网站每天更新的内容是内链吗

哈尔滨工业大学计算机专业创建于1956年,是中国最早的计算机专业之一。在1985年, 它又发展成计算机科学与工程系,并建立了计算机科学技术研究所。2000年,计算机科学与技术学院成立。同年,建立了软件学院,后经国家教育部、国家计委批…

电子商务网站开发费用调研报告图片制作在线生成器免费版

概述 在计算器科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定排序方式进行排列的一种算法。本文将总结几类常用的排序算法,包括冒泡排序、选择排序、插入排序、快速排序和归并排序&…

jsp网站开发实例与发布网络营销热门岗位

![1.png](https://ucc.alicdn.com/pic/developer-ecology/5dffeef22eb74645a35be2f60b5e54c6.png) 作者 | 亦盏 前言 随着微服务的流行,越来越多公司使用了微服务框架,微服务以其高内聚、低耦合等特性,提供了更好的容错性,也…

做网站网武昌做网站多少钱

序言 对于GPT-4我只是一个门外汉,至于我为什么要了解screenshot to code,只是因为我想知道,在我不懂前端设计的情况下,能不能通过一些工具辅助自己做一些简单的前端界面设计。如果你想通过此文深刻了解GPT-4或者该开源项目&#…

做网站链接怎么弄自己怎么设计公园

导读:知识图谱的构建技术主要有自顶向下和自底向上两种。其中自顶向下构建是指借助百科类网站等结构化数据源,从高质量数据中提取本体和模式信息,加入到知识库里。而自底向上构建,则是借助一定的技术手段,从公开采集的…

网站群建设规范定制开发小程序

一、环境空间的特点 环境空间是一种特殊类型的变量,它可以像其它变量一样被分配和操作,还可以以参数的形式传递给函数。 R语言中环境空间具有如下3个特点: 1、对象名称唯一性 此特点指的是在不同的环境空间中可以有同名的变量出现&#x…

正规的锦州网站建设新钥匙建站

Java面试题_2024新版Java高频面试题Java八股文面试真题 Java高频面试专题视频课程,瓤括了Java生态下的主流技术面试题,课程特色: 1、全面,jvm、并发编程、mysql、rabbitmq、spring、mybatis、redis、分布式、微服务、数据结构等等…

公司网站开发费计入什么科目定制旅游网站有哪些

近日,2020首届全国信创产业生态创新大赛颁奖盛典在北京信创园举办,霍因科技提交的“霍因科技-信创云统一存储和数据湖方案”荣获生态创新奖,这彰显了霍因科技在以数据存储技术推动信息技术应用创新产业方面的卓越成就。 据悉,首届…

湛江网站模网站建设vipjiuselu

1、NoSQL: 指的是非关系型数据库,主要分成四大类:键值存储数据库、列存储数据库、文档型数据库、图形数据库。 2、什么是Redis: Redis是一种基于内存的数据库,一般用于做缓存的中间件。 3、Redis的主要的特点: 1、Rd…

制冷机电工程东莞网站建设p2f网站系统

目录 一、性能测试的指标 1、并发量 2、响应时间 3、错误率 4、吞吐量 5、资源使用率 二、压测全流程 三、其他注意点 1、并发和吞吐量的关系 2、并发和线程的关系 四、调优及分布式集群压测(待仔细学习) 1.线程数量超过单机承载能力时的解决…

杭州网站维护公司商务型网站模板

「11」显示器采集捕获单个显示器的完整视频画面 在OBS软件中,「显示器采集」是一种用于捕集显示器屏幕画面的功能,您可以将其用于整个桌面窗口的采集到直播间。该功能主要用于捕捉您的计算机桌面屏幕内容,以便将其实时显示在直播窗口中&#…

个人网站建设制作asp网站发布ftp

vue和thymeleaf : 若先显示框架后加载数据则用vue 若后端处理好之后发送给前端页面显示用thymeleaf (弹幕) 对于前后端分离的认识: 使用vue 将前端页面、框架等建立好,只需要后端发送数据即可 但thymeleaf就需要在服务器启动之前将数据保存到…

wap网站设计上海交通大学毕业设计网站

HashSet存储自定义对象保证元素唯一性图解原理及代码优化 1.原理: * 1.HashSet原理 * 我们使用Set集合都是需要去掉重复元素的, 如果在存储的时候逐个equals()比较, 效率较低,哈希算法提高了去重复的效率, 降低了使用equals()方法的次数 * 当Hash…

网站内容建设出现的问题怎么更改wordpress主题的字体

一:背景 1. 讲故事 中秋国庆长假结束,哈哈,在老家拍了很多的短视频,有兴趣的可以上B站观看:https://space.bilibili.com/409524162 ,今天继续给大家分享各种奇奇怪怪的.NET生产事故,希望能帮助…

浙江华企做网站哪些网站是用织梦做的

1.安装Git、TortoiseGit和汉化包 Git官网: Git TortoiseGit和汉化包: Download – TortoiseGit – Windows Shell Interface to Git 2.常用命令 创建仓库命令 git init初始化仓库git clone拷贝一份远程仓库,也就是下载一个项目。提交与修改 git add添加文件到暂存区git…