首页 文章 精选 留言 我的

精选列表

搜索[双因素认证],共10000篇文章
优秀的个人博客,低调大师

超融合数据中心需要考虑的十大因素

考虑建设超融合数据中心的理由 与传统的服务器安装、存储阵列、运行的网络相比,超聚合数据中心提供许多好处。企业依靠IT创新来实现其战略目标。 这可能导致新的需求不断涌现,从而限制了对现有数据中心资源的使用,当我们开始到对数据中心管理人员进行动态考核,这些挑战将变得更加明显。虽然超融合能将计算和存储的打包方式打包到网络中,同时使用虚拟化和管理软件在本地安装,但这还远未普及,目前产品正在迅速拓展,以应对运维管理人员的需求。 事实上,还有许多原因使得IT企业、组织选择超融合数据中心。根据自身情况,总会发现一两个理由适合你。 1. 流行技术 IT组织关注超融合数据中心设置的主要原因之一是其他客户也正在关注超融合。 超融合目前是一个非常流行技术,正在引起多方关注。看看下面的原因,有没有适合自身组织发展的,也许超融合也适合你。 2.扩展工作负载 超融合是一个扩展平台,因此它适合横向扩展的工作负载。 虚拟桌面基础架构(VDI)是经典的横向扩展工作负载,拥有数百或数千台式虚拟机。 每个虚拟机的负载相当小,但总的VDI负载很大。 Web服务器场和一些数据库工作负载也可以从超融合数据中心中受益。 横向扩展平台为旨在以此方式发展的应用程序提供一致的性能。 3.增长的工作负载 超融合使得通过随时间添加新节点可以轻松扩展数据中心的容量。 如果分阶段推出或只是IT长期资源需求增长,超融合使您可以随着工作量的增长来购买所需的容量,将基础设施支出与工作负载的价值相结合。 如果增长速度超过计划速度,则可以轻松增加节点采购量,如果增长落后于预测值,则可以减少节点采购量。 4.简化管理 超融合数据中心的一个重要特征是简化管理。 大多数超级融合平台包括基于策略的虚拟化管理,这减少了管理虚拟机集合所需的工作量。 这种简化可以让IT团队花更少的时间来调整和优化平台,更多地关注为业务带来价值的虚拟机和应用程序。 5.消除IT孤岛 超融合数据中心消除了存储仓以及专用网络。 这样可以减轻企业在存储阵列和网络方面的专业知识需求。 此外,超融合消除逻辑单元号,表示和存储路径的需要。使用存储区域网络(SAN), 这样就不再需要专门的专业知识,而且可以让IT团队专注于数据中心和应用程序堆栈等其他软件方面的维护。 (备注:“孤岛(Silo)”的原本含义是指什么? 根据韦氏词典对“silo”的定义:“是指一处沟渠、深坑,或者是特别高的圆筒(由木头或混凝土制成),通常用于密封,与空气隔离,以便用来制作和存储饲料。” 在IT领域中,“孤岛(Silo)”是对资料与技能之间出现组织分离的一种类比。“IT孤岛”是我从客户那里听到的最大痛点之一。通常的“IT孤岛”可以在服务器、网络和存储管理这些领域发现。) 6.基础设施资源 需要适度资源的小型项目可能不适合部署到大型融合基础架构平台或专用服务器和存储阵列。 超融合使数据中心人员能够部署更小的基础设施,以满足较小的需求。 在超融合数据中心设置中添加几个节点可以满足小型项目的需求,而不需要大量购买。 如果一系列项目每个都需要几个节点,IT团队可以将节点组合成一个更大的超融合集群。 将这些较小的项目结合到更大的基础设施中,可以使项目的运营成本随着项目的增长而增加。 7. ROBO支持与管理 一些组织有大量的远程办公室或分支机构(ROBO)。 这些分支需要足够的IT设备,他们将从强大的虚拟化平台中受益。 为这些站点部署SAN以及服务器费用高昂,同时这些操作系统运行起来的复杂性,导致运营成本更高。 一些分支机构的空间是非常重要的。 将计算和存储组合成一个盒子可以使超融合比传统基础设施更紧凑。 如果分公司是车辆,船舶,卡车,航空器甚至潜艇,则空间和电力节约可能是至关重要的。 如果有很多ROBO,那么管理这些站点的平台就成了一个挑战。 超融合简化了管理,保持运营成本不会增加。 8.硬件刷新 IT组织通常将整个虚拟化平台购买并替代。 这是为下一个基础设施评估超融合产品的理想时机。 如果部署超融合数据中心,那么刷新硬件的未来过程很可能将远远比简单地更换虚拟化平台简单得多。 超融合通常允许逐个节点更新来更新集群,这意味着没有大的中断或VM迁移来获得新的基础架构。 9.工作人员 寻找合格的专业人员是任何IT部门的挑战。 超融合数据中心简化降低团队中人员需要的各种技能。 管理虚拟设备可能需要消耗很多时间。使用策略来管理虚拟设备,只需要考虑不合规的虚拟设备,就可以降低工作量。 相同数量的员工可以更好地管理更多的虚拟设备,而不是当传统流程被良好管理策略所取代时,可以处理更多虚拟设备。 10.没有公共云 云服务之所以如此吸引人,是因为在于将IT简化最终意图不是运行IT, 然而,许多组织通过法律法规、或业界合规性要求,或商业要求,阻止他们使用云服务。 超融合数据中心允许减少云服务的基础架构管理,同时保持所有IT部门。 超融合配置为供应商设计可编程的平台,从而更容易地构建顶级的私有或混合云平台。 本文作者:佚名 来源:51CTO

优秀的个人博客,低调大师

WebAssembly 与 Kubernetes双剑合璧

无处不在的WebAssembly 如果评选2019年编程技术的“网红”,无论是前端圈还是后端圈WebAssembly(WASM) 都绝对能够高票入选。然而,如果评选最被“低估”的技术,我觉得WebAssembly 也可以轻松入围。借用伏尔泰曾评价神圣罗马帝国的句式 “既不神圣,也不罗马,更非帝国”,我们也可以说WebAssembly “既不限于Web,更不是Assembly(汇编语言)”。 在2019年12月,万维网联盟 (World Wide Web Consortium - W3C) 宣布WebAssembly核心规范正式成为Web标准, 这使得 WebAssembly 成为互联网上与 HTML, CSS, and JavaScript并列的第四种官方语言,可以原生的运行在浏览器上。而更加重要的是,WebAssembly 作为一个安全的、可移植、高效率的虚拟机沙箱,可以在 Internet 的任何地方、任何平台(不同操作系统,不同CPU体系架构下)安全运行应用。WebAssembly已得到了所有主流浏览器厂商的广泛支持(Google Chrome, Microsoft Edge, Apple Safari, Mozilla Firefox等),然而它的影响已经远超Web。 WebAssembly的设计初衷之一是为了解决JavaScript的性能问题,使得Web网页应用有接近本机原生应用的性能。作为一个通用、开放、高效的底层虚拟机抽象,众多编程语言(如C/C++, Rust, 等)可以将现有应用编译成为WASM的目标代码,运行在浏览器中 。这让应用开发技术与运行时技术解耦,极大促进了代码复用。 Mozilla在2019年3月推出了 WebAssembly System Interface(WASI),来标准化WebAssembly应用与系统资源的交互抽象,比如文件系统访问,内存管理,网络连接等,类似POSIX这样的标准API。WASI规范大大拓展了WASM应用的场景,可以让其可以超越浏览器环境,作为一个独立的虚拟机运行各种类型的应用。同时,平台开发商可以针对具体的操作系统和运行环境提供WASI接口不同的实现,可以在不同设备和操作系统上运行跨平台的 WebAssembly 应用。这可以让应用执行与具体平台环境实现解耦。这一切使得“Build Once, Run Anywhere”的理想逐渐形成现实。WASI 的示意图如下所示。2019年月,为了进一步推动模块化 WebAssembly 生态系统,Mozilla、Fastly、英特尔和红帽公司携手成立了字节码联盟(Bytecode Alliance),共同领导 WASI 标准、 WebAssembly 运行时、语言工具等工作。 原图:https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ WASM与容器相爱相杀 WebAssembly是否会取代容器? 正因为 WebAssembly 所具备的的安全、可移植、高效率,轻量化的特点,非常适于应用安全沙箱场景。WASM得到了容器、函数计算、IoT/边缘计算等社区的广泛关注。Docker创始人Solomon Hykes在WASI发布之际的一句Twitter,更是成为了去年容器和WebAssembly社区引用频率最高的一句话之一。 Fastly, Cloudflare等CDN厂商基于WebAssembly技术实现了更加轻量化的应用安全沙箱,可以在一个进程内部运行多个独立的用户应用。阿里云CDN团队EdgeRoutine也实现了类似技术。与容器技术相比,WASM可以实现毫秒级冷启动时间和极低的资源消耗。 原图:https://blog.cloudflare.com/cloud-computing-without-containers/ 当然,世界上没有完美的技术。任何沙箱技术不可能同时满足执行效率、安全隔离性和通用性这三个维度的要求。WASM在安全隔离和通用性等方面与Docker Container等存在差距。虽然如此,我们还是看到了WebAssembly技术巨大的潜力。 WebAssembly容器 我的理解是WebAssmebly可以成为一种容器类型,类似Linux Container或者Windows Container一样。成为一个跨平台的标准应用分发方式和运行时环境。 应用分发 Docker容器的一个重要贡献是其标准化了容器化应用打包规范 Docker Image,而且它已经成为开放容器计划(Open Container Initiative - OCI)的镜像格式标准。Docker镜像提供了自包含、自描述的镜像格式。它可以将应用以及其依赖的环境信息打包在一起,从而实现应用与运行环境解耦,让容器应用可以轻松运行在从本地开发环境到云端生产环境的不同场景中。并且社区围绕Docker镜像构建了繁荣的工具链生态,如Docker Hub可以进行应用分发和CI/CD协同,Nortary/TUF项目可以保障应用可信地分发、交付。 对与WebAssembly,目前社区提供了类似NPM的包管理实现WAPM,可以较好地支持应用的分发。 为WebAssembly应用构建Docker镜像,可以实现双赢的局面。 WebAssembly开发者可以完全复用Docker/OCI镜像规范和工具链,进一步简化应用分发和交付。比如,我们可以将Nginx的WASM镜像作为基础镜像,基于这个镜像可以构建包含不同Web内容的应用镜像;我们可以利用tag对应用版本进行追踪;利用Docker Registry进行应用分发;在这个过程我们还可以进一步利用数字签名来保障安全的软件供应链。 Docker镜像规范支持Multi-Arch镜像,可以简化不同CPU体系架构(如x86, ARM, RISC-V等)的应用镜像的构建与分发。而WebAssembly天生具备可移植性,大大简化了跨平台Docker应用镜像的构建和分发。 参考:利用Docker加速 ARM 容器应用开发和测试流程 我提供了一个技术原型示例项目,https://github.com/denverdino/wasm-container-samples,大家可以参考其中的例子来构建WASM容器镜像。由于WebAssembly应用采用紧凑的二进制格式,而且没有任何操作系统依赖,WASM应用可以构建出非常小的容器镜像。大家可以自行感受一下: $ sudo ctr image ls REF TYPE DIGEST SIZE PLATFORMS LABELS docker.io/denverdino/c-http-server-wasm:latest application/vnd.docker.distribution.manifest.v2+json sha256:2efa759f46f901cda2e6a9b4228c423b17a960c06e957964e72c21dc5b42408f 29.2 KiB linux/amd64 - docker.io/denverdino/hellowasm:latest application/vnd.docker.distribution.manifest.v2+json sha256:cadcc8b07eb82b18db2c8f500fa2b11e5ebf2e9054cfa687e4ffe44861860132 8.2 KiB linux/amd64 - docker.io/denverdino/nginxwasm:latest application/vnd.docker.distribution.manifest.v2+json sha256:8735c82524a463b842b7c79f2c1be8094ee1c57cfd34154f68752fbe79c25998 582.7 KiB linux/amd64 - 安全隔离 WebAssembly的最初设计目标是让应用可以安全运行在浏览器中。WASM虚拟机提供的的沙箱和内存隔离机制,可以有效减少安全攻击面。而当WebAssembly走出浏览器,面向更加通用的场景。WASM也面对更加复杂的安全挑战。 WASI 提供了基于能力的安全模型。WASI应用遵循最小权限原则,应用只能访问其执行所需的确切资源。传统上,如果应用需要打开文件,它会带路径名字符串调用系统操作open。然后系统调用会检查应用是否具有访问该文件的相关权限,比如Linux实现了基于用户/组的权限模型。这样隐式的安全模型,依赖于正确的安全管理配置,比如一旦特权用户执行了一个恶意应用,它就可以访问系统中任意的资源。而对于WASI应用而言,如果它需要需要访问指定文件等系统资源,需要从外部显式传入加有权限的文件描述符引用,而不能访问任何其他未授权资源。这中依赖注入的方式可以避免传统安全模型的潜在风险。一个示意图如下 原图:https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ 我们可以看到WASI的安全模型与传统操作系统安全模型非常不同,而且还在持续演进中。比如字节码联盟提出了 nanoprocess 来解决应用模块间的安全协同和信任传递。 WebAssembly/WASI的安全模型依然存在不足,比如 资源隔离: 对于内存资源,WebAssembly实现了线性内存模型。WebAssembly应用只能利用索引访问传入的一段逻辑线性内存。而WASM虚拟机负责确定内存的实际物理地址,WASM应用无法获知内存的真实地址,也无法通过越界访问等方式发动攻击。所以理论上,可以对WASM应用进行资源容量限制。但是目前部分WASM虚拟机还无法对内存进行精确的隔离限制 对于CPU资源,部分的WASM虚拟机实现可以对应用使用的CPU资源进行计量,但是大多无法实现精确的配额限制、优先级和抢占式调度。 I/O资源,比如IOPS等,WASM目前完全没有相关的隔离能力。 网络安全: WASI的Capability模型对于文件系统访问相对比较容易保护。但是这个静态的安全模型无法适用于动态的网络应用场景。在微服务架构中,应用经常通过Service Registry进行服务发现,为服务的调用者和提供者实现动态的调用绑定。这个语义是无法用静态的capability模型描述和注入的。这也导致了WASI的网络部分API还处于讨论之中。现有的WASI网络安全模型,以及相关讨论, Linux操作系统和容器技术已经提供了非常完备的资源隔离和安全隔离实现。与WebAssembly结合在一起可以应对不同场景对不同隔离级别的需求。 共享进程资源 - 多个WASM应用模块运行在一个WASM虚拟机进程内部,依赖WASM运行时进行隔离。隔离级别低,控制粒度比较粗,资源开销极小。可以以较小代价保障系统安全。适合受限问题域的应用安全隔离。 独立进程资源- 不同WASM应用模块运行在不同的WASM虚拟机进程中,可以复用操作系统的进程级隔离能力,比如CGroup。此外,还可以利用类似Kubernetes中的Network Policy (网络策略),或者服务网格(如Istio)等技术,对进程的网络访问进行细粒度的控制,甚至实现零信任网络。隔离级别比较高,控制粒度比较细,资源开销适中。可以应用于更加通用的场景。 注:当然利用安全沙箱如虚拟化等技术,结合WebAssembly,可以进一步最小化安全攻击面,但是ROI不高。 调度与编排 在云时代,Kubernetes已经成为分布式环境下资源调度和应用编排的事实标准。Kubernetes可以屏蔽底层设施的差异性。可以在同一个K8s集群中包含x86、ARM等不同体系架构的节点,可以支持Linux,Windows等不同的操作系统。Kubernetes和WebAssembly相结合可以进一步提升应用的可移植性。 微软的Deis Labs年初发布了一个实验项目,https://github.com/deislabs/krustlet来利用 Virtual Kubelet类似的架构调度 WebAssembly 应用。但是这个方式有很多局限,无法借助容器方式进行应用分发,也无法利用K8s 的语义进行资源编排。 难得有一个春节假期可以宅在家里间,我基于Derek McGowan去年的一个实验性项目https://github.com/dmcgowan/containerd-wasm,完善了containerd的WASM shim实现。可以让containerd支持WASM container,并且可以利用Kubernetes集群管理和调度 WASM container。项目的代码实现:https://github.com/denverdino/containerd-wasm 注:这个项目更多是概念验证,进程管理、资源限制,性能优化等的细节并没未完整实现。 整个系统的架构设计如下,“container-shim-wasm-v1”做为Containerd的扩展,利用 wasmer 作为WASM应用运行时环境,可以实现与runc容器一致的用户体验。 我们还会将其注册为 K8s 的一个RuntimeClass ,允许用户利用K8s来交付和运维WASM应用。 注:RuntimeClass是 Kubernetes v1.12 引入的新概念,可以让Kubernetes支持多种不同的容器运行时,比如 runc容器、或者Kata Containers,gVisor等安全沙箱容器。更多细节可以参考,containerd与安全沙箱的Kubernetes初体验 Talk is Cheap, 放码过来 首先,我们将利用Minikube创建一个K8s测试环境,并将 Containerd 作为Kubernetes集群的容器运行时。 创建虚拟机测试环境 创建Minikube K8s集群,并将 Containerd 作为Kubernetes集群容器运行时 minikube start --image-mirror-country cn \ --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.6.0.iso \ --registry-mirror=https://tgtsuwdg.mirror.aliyuncs.com \ --container-runtime=containerd 进入 Minikube 虚拟机 $ minikube ssh _ _ _ _ ( ) ( ) ___ ___ (_) ___ (_)| |/') _ _ | |_ __ /' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\ | ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/ (_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____) 配置环境所需依赖 wasmer 0.13 minikube缺省安装了container 1.2.x,需要升级 containerd 1.3.x 我提供了一个预编译的 containerd-wasm-shim-v1,也可自己编译一个版本。 cd ~ # Install Wasmer 0.13.1 curl -L -O https://github.com/wasmerio/wasmer/releases/download/0.13.1/wasmer-linux-amd64.tar.gz gunzip wasmer-linux-amd64.tar.gz tar xvf wasmer-linux-amd64.tar sudo cp bin/* /usr/bin/ # Upgrade containerd to v1.3.2 curl -L -O https://github.com/containerd/containerd/releases/download/v1.3.2/containerd-1.3.2.linux-amd64.tar.gz gunzip containerd-1.3.2.linux-amd64.tar.gz tar xvf containerd-1.3.2.linux-amd64.tar sudo systemctl stop containerd sudo cp bin/* /usr/bin/ sudo systemctl restart containerd # Install containerd-wasm-shim wget http://kubernetes.oss-cn-hangzhou.aliyuncs.com/containerd-wasm/containerd-shim-wasm-v1 chmod +x containerd-shim-wasm-v1 sudo mv containerd-shim-wasm-v1 /usr/bin/ 配置 containerd 支持 WASM shim 在containerd配置文件中添加 wasm shim相关配置,并重启containerd。 $ cat <<EOF | sudo tee -a /etc/containerd/config.toml disabled_plugins = ["restart"] [plugins.cri.containerd.runtimes.wasm] runtime_type = "io.containerd.wasm.v1" EOF $ sudo systemctl restart containerd 测试 Hello World WASM容器应用 $ sudo ctr image pull docker.io/denverdino/hellowasm:latest docker.io/denverdino/hellowasm:latest: resolved |++++++++++++++++++++++++++++++++++++++| manifest-sha256:cadcc8b07eb82b18db2c8f500fa2b11e5ebf2e9054cfa687e4ffe44861860132: done |++++++++++++++++++++++++++++++++++++++| layer-sha256:ecda28441283ecf01d35bca0361f2c1ef26a203454a06789ee5ce71ba1e32ca3: done |++++++++++++++++++++++++++++++++++++++| config-sha256:57974480d640c8d60d254a8b0fa4606b2c7107fe169bc3ddd455091277c3a5e4: done |++++++++++++++++++++++++++++++++++++++| elapsed: 3.0 s total: 0.0 B (0.0 B/s) unpacking linux/amd64 sha256:cadcc8b07eb82b18db2c8f500fa2b11e5ebf2e9054cfa687e4ffe44861860132... done $ sudo ctr run --rm --runtime io.containerd.wasm.v1 docker.io/denverdino/hellowasm:latest test1 Hello world 测试 Nginx的WASM容器应用 $ sudo ctr image pull docker.io/denverdino/nginxwasm:latest docker.io/denverdino/nginxwasm:latest: resolved |++++++++++++++++++++++++++++++++++++++| manifest-sha256:8735c82524a463b842b7c79f2c1be8094ee1c57cfd34154f68752fbe79c25998: exists |++++++++++++++++++++++++++++++++++++++| layer-sha256:27f4d8ad067fbb709d18ea5acd7a5ddfb85851e5d9f030636e9da3d16cc4bd07: done |++++++++++++++++++++++++++++++++++++++| config-sha256:a55bd3bdb9d00fdac5ee2f64bfc1856e58e8bb90587943969ad3d8115f4ced70: done |++++++++++++++++++++++++++++++++++++++| elapsed: 3.0 s total: 0.0 B (0.0 B/s) unpacking linux/amd64 sha256:8735c82524a463b842b7c79f2c1be8094ee1c57cfd34154f68752fbe79c25998... done $ sudo ctr run --rm --runtime io.containerd.wasm.v1 docker.io/denverdino/nginxwasm:latest test2 2020/02/01 07:01:21 [notice] 30672#0: using the "select" event method 2020/02/01 07:01:21 [notice] 30672#0: nginx/1.15.3 2020/02/01 07:01:21 [notice] 30672#0: built by clang 6.0.1 (emscripten 1.38.11 : 1.38.11) 2020/02/01 07:01:21 [notice] 30672#0: OS: Linux 4.19.81 2020/02/01 07:01:21 [notice] 30672#0: getrlimit(RLIMIT_NOFILE): 1024:1024 在 Minikube 外部,可以用如下方式获得 nginx 应用的访问地址 $ echo http://$(minikube ip):8080 http://192.168.64.13:8080 利用浏览器打开上述地址,显示如下 创建WASM容器的RuntimeClass CRD 为了将WASM容器可以被Kubernetes所调度,我们需要创建一个RuntimeClass CRD 下载示例文件 $ git clone https://github.com/denverdino/wasm-container-samples $ cd wasm-container-samples 注册 RuntimeClass “wasm”,这个值 $ cat wasm-runtimeclass.yaml apiVersion: node.k8s.io/v1beta1 kind: RuntimeClass metadata: name: wasm handler: wasm $ kubectl apply -f wasm-runtimeclass.yaml runtimeclass.node.k8s.io/wasm created $ kubectl get runtimeclass kubectl get runtimeclass NAME CREATED AT wasm 2020-02-01T06:24:12Z 在K8s中运行WASM容器应用 在K8s应用的yaml manifest中,我们可以在Pod Spec上指明所需 runtimeClassName。下面我们就用K8s来部署一个nginx的WASM容器。 $ cat nginx-wasm.yaml apiVersion: v1 kind: Pod metadata: name: nginx-wasm spec: runtimeClassName: wasm containers: - name: nginx image: denverdino/nginxwasm ports: - containerPort: 8080 $ kubectl apply -f nginx-wasm.yaml pod/nginx-wasm created $ kubectl get pod NAME READY STATUS RESTARTS AGE nginx-wasm 1/1 Running 0 9s 新机遇、新希望 目前为止,WebAssembly 技术仍处于初期阶段,WASI也有很多局限性。但是社区的进展非常快,SIMD 指令支持,多线程处理等规范也正在快速演进中。WebAssembly已经打破次元壁,将高性能的计算能力带领到Web浏览器端,越来越多的计算密集型的游戏、AI模型预测、和数据处理应用被移植到浏览器端,可以为应用提供更加优化的用户体验。 WebAssembly更广阔的空间在云计算领域、区块链等分布式计算领域。WebAssembly 轻量、敏捷、安全的特性,可以有效降低Serverless应用启动速度和资源消耗。同时WebAssembly的可移植,可以让应用一致运行在从云端服务器到边缘IoT设备等不同平台环境中,让计算无处不在。 利用containerd的扩展机制,可以为WebAssembly应用提供与其他容器应用一致的、抽象的、应用分发、交付和运维模型,可以在Kubernetes集群中进行统一调度和管理。希望通过类似的探索可以简化基于WebAssembly的分布式应用管理和运维。 后记 本文写在2020年的春节期间,这个春节注定将会被所有人铭记。众志成城,抗击疫情!天佑中华,武汉加油!

优秀的个人博客,低调大师

Jetski - MCP 分析和认证平台

Jetski 是一个开源 MCP 分析和身份验证平台,隶属于 HyprMCP。它解决了团队在开发 MCP 服务器时面临的三大问题,且无需修改任何代码: 安装和设置:大多数用户从未完成过设置。他们找不到客户端说明,或者无法在浏览器中打开您的 MCP 网址,因此立即流失。 身份验证:识别用户并为他们提供正确的工具和响应仍然很难实现。 日志、分析和可见性:无法了解你的 MCP 如何使用、哪些提示触发哪些工具或为什么会发生错误。 平台管理和部署位于你的 MCP 服务器前端的mcp-gateway实例,并处理复杂的事务。它还收集并汇总网关捕获的所有分析和指标数据。 Jetski 仍在积极开发中,尚处于起步阶段。API 和命令行界面可能会以向后不兼容的方式发生变化。 特点 全面的提示分析查看哪些提示触发了哪些工具、来自哪些客户端以及发生了什么。全面了解你的 MCP 服务器使用模式,并实时了解用户如何与你的工具交互。 自动生成的设置说明,帮助用户轻松连接到客户端。为每个支持的 MCP 客户端自动生成清晰的分步说明,消除用户在入门过程中流失的首要原因。 零代码身份验证,无需编写任何代码即可安全地识别和管理用户。代理可处理所有身份验证逻辑,让你能够根据用户身份提供个性化的工具和响应。 实时调试日志即时调试问题并实时了解服务器行为。查看每个请求、响应和错误的详细日志,轻松快速地识别和修复问题。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册