cargo安全服务器 cargo系统

Cargo 私有仓库部署

私有仓库的crates目录使用Git进行版本管理:

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站制作、哈密网络推广、微信小程序开发、哈密网络营销、哈密企业策划、哈密品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供哈密建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

Alexandrie 是Rust语言编写的私有仓库管理服务器,当前版本0.1.0。官方提供了份花里胡哨的 安装脚本 ,事实上也就执行了以下几步。

编译器:rustc 1.46.0

编到 migrations_macros 模块可能会报 /usr/bin/ld: cannot find -lsqlite3 ,解决方法:

在alexandrie目录中创建存放crates的文件夹:

在alexandrie目录中拉一份mycrates-io.git:

在crate-index中添加配置文件config.json:

提交:

为了让局域网中的其他机器访问到,需要将alexandrie.toml中配置的回环地址改成固定IP:

在alexandrie目录中运行(依然会用到一些源文件):

输出信息显示Alexandrie在3000端口监听请求,但防火墙可能会将其禁用,使用以下步骤依次完成查看端口状态、开启端口、重启防火墙、确认端口状态:

后面如需关闭端口:

Alexandrie就绪后,可在任意客户端发布crate,但需要注册Alexandrie账户并使用cargo登陆。

使用浏览器访问 ;Alexandrie_IP:3000 进行注册。有趣的是,密码似乎只能是十六进制数,因为 alexandrie/src/frontend/account/register.rs 是这么处理的:

注册之后进入 ;Alexandrie_IP:3000/account/manage 页面,点击「Create token」获得token。

TOKEN 就是上一步获得的token,cargo会自动将其保存至 ~/.cargo/credential 。

由于Cargo仓库被设计成永久保存,发布上去的crate只能yank,不能删除,无法重新发布同版本的crate,这意味着一旦传错,只能在服务端删库重来:

默认情况下,cargo访问的crates仓库目录是 ,我们需要在 ~/.cargo/config 中将其替换为自己的私有仓库:

2020年9月11日、14日、16日 无锡

使用 Rust 构建 gRPC 服务器

弗洛里安·克鲁姆 ( Florian Krumm ) 在Unsplash上拍摄的照片

一旦我了解了gRPC和Thrift,就很难再回到使用更具过渡性的基于 JSON 的 REST API 或SOAP API 了。

两个著名的RPC框架 gRPC 和 Thrift 有很多相似之处。前者源自谷歌,后者源自Facebook。它们都易于使用,对多种编程语言都有很好的支持,并且都具有高性能。

最有价值的功能是多种语言的代码生成以及服务器端反射。这些使 API 本质上是类型安全的。使用服务器端反射,可以更轻松地 探索 API 的模式定义,而无需阅读和理解实现。

Apache Thrift在 历史 上一直是一个流行的选择。然而近年来,由于缺乏来自 Facebook 的持续支持,以及与fbthrift的分叉分叉,慢慢失去了人气。

与此同时,gRPC 已经赶上了越来越多的功能,拥有更 健康 的生态系统。

GRPC(蓝色)与 Apache Thrift(红色)的比较。谷歌趋势

gRPC、fbThrift 和 Apache Thrift 之间的 GitHub 明星 历史 。

到今天为止,除非您的应用程序以某种方式隶属于 Facebook,否则没有充分的理由考虑 Thrift。

GraphQL是另一个由 Facebook 发起的框架。它与上面的两个 RPC 框架有很多相似之处。

移动 API 开发的最大痛点之一是一些用户从不升级他们的应用程序。因为我们想保持向后兼容性,我们要么必须在 API 中保留旧的未使用字段,要么创建 API 的多个版本。GraphQL 的一个动机就是解决这个问题。它被设计成一种“查询语言”,允许客户端指定它需要的数据字段。这使得处理向后兼容性变得更容易。

GraphQL 在开发移动 API 以及面向公众的 API(例如GitHub)方面具有巨大价值。因为,在这两种情况下,我们都无法轻易控制客户端的行为。

但是,如果我们正在为 Web 前端构建 API 或为内部后端服务构建 API,那么选择 GraphQL 而不是 gRPC 几乎没有什么好处。

以上是迄今为止网络框架的一个小概述。除了网络,我们还需要决定应用服务器的语言。

基于Stack Overflow 调查:“六年来,Rust 是最受欢迎的语言。” 尽管学习曲线相对陡峭,但它的类型安全、优雅的内存管理、广泛的社区支持和性能,都使 Rust 成为一种非常有吸引力和有前途的后端服务开发编程语言。

Rust 是最受欢迎的语言。2021 年 Stackoverflow 调查

我们也开始看到 Rust 在行业中得到越来越广泛的采用:Facebook、Dropbox、Yelp、AWS、Google等。很明显,Rust 将继续增长并继续存在。

这就是我们将在今天的教程中看到的内容——在 Rust 中使用 gRPC 构建一个小型服务器。

使用以下命令安装 Rust:

如果您以前安装过 Rust,我们可以通过以下方式对其进行更新:

让我们仔细检查rustc(Rust 编译器)和cargo(Rust 包管理器)的安装版本:

有关安装的更多信息,请查看。

运行以下命令创建一个新的“Hello World”项目:

让我们编译并运行程序:

这显示了我们到目前为止的文件结构:

gRPC 使用协议缓冲区来序列化和反序列化数据。.proto让我们在一个文件中定义服务器 API 。

我们定义了一个书店服务,只有一个方法:提供一个书本 id,并返回有关该书的一些详细信息。

我们将使用tonic创建我们的 gRPC 服务。将以下依赖项添加到Cargo.toml文件中:

为了从 生成 Rust 代码bookstore.proto,我们tonic-build在 crate 的build.rs构建脚本中使用。

将以下内容添加到build.rs文件中:

需要特别指出的一件事是,我们添加它.out_dir(“./src”)是为了将默认输出目录更改为该src目录,以便我们可以更轻松地查看生成的文件,以达到本文的目的。

在我们准备编译之前还有一件事。tonic-build依赖于Protocol Buffers 编译器将文件解析.proto为可以转换为 Rust 的表示。让我们安装protobuf:

并仔细检查 protobuf 编译器是否安装正确:

准备编译:

有了这个,我们应该src/bookstore.rs生成一个文件。此时,我们的文件结构应该如下所示:

最后,是时候将服务放在一起了。替换为main.rs以下内容:

正如我们所见,为了简单起见,我们并没有真正的图书设置数据库。在这个端点中,我们只是返回一本假书。

运行服务器的时间:

很好,我们在 Rust 中启动并运行了 gRPC 服务器!

正如开头所说,gRPC 最初给我留下了深刻的印象,因为它具有做服务器反射的能力。它不仅在服务开发过程中很方便,而且还使与前端工程师的沟通变得更加容易。因此,如果不解释如何为 Rust 服务器添加它,那么结束本教程是不完整的。

将以下内容添加到依赖项中:

更新build.rs。需要更改的行用// Add this注释标记。

最后,将其更新main.rs为以下内容。

有许多 GUI 客户端可以使用 gRPC Server,例如Postman、Kreya、bloomrpc、grpcox等。为了简单起见,我们将使用命令行工具grpc_cli。

安装:

并测试我们的第一个 gRPC 端点:

看起来它有效!我的朋友,这就是我们在 Rust 中构建 gRPC 服务器的方式。

这就是今天的内容。感谢阅读和快乐的编码!与往常一样,源代码可在GitHub 上获得。

有用PICC货物险电子商务客户端的筒子吗?

客户端操作手册V1.4.2

目 录

系统简介

为了加快电子商务的发展,全面实现方便快捷的网上保险业务,同时规范网上业务运作,防范经营风险,中国人民财产保险股份有限公司特推出货运险电子商务系统(e-Cargo).本系统安全性强,界面友好,使用简单,操作方便,将为业务发展开拓新的天地.

客户端,主要帮助中国人民财产保险股份有限公司客户通过互联网进行国内,进出口货物运输险的投保,(投)保单修改,(投)保单查询,业务量的统计等,为其开展保险业务提供极大的方便.

系统登录

系统登录主要是用户的身份验证以及系统参数的设置.如下图"登录"页面.

点击打开"参数设置",根据需要(如用户是通过代理服务器上网的情况)可以对代理服务器地址及端口进行设置,如图"通讯参数设置"页面:

当服务器地址填写为公司内部ip时,升级方式选择为"内网升级";当服务器地址为外网地址时,升级方式选择为"外网升级".

1.4.2版本后新增加消息管理参数,即通过选择"消息窗口自动弹出", 可控制消息窗口是否自动弹出.如需要修改消息弹出的时间间隔,可对"弹出时间间隔"进行修改.

当有新版本发布时, 在登陆后软件会自动从网络上下载文件更新

当下载窗口的百分比长时间维持不变时, 说明网络连接不稳定或已经与升级服务器断开,请关闭窗口, 重新升级.

菜单介绍

正确输入"用户代码"和"密码"后,进入"中国人民财产保险股份有限公司货运险电子商务系统(e-Cargo)客户端:

菜单栏包括"消息管理", "保险实务" ,"查询管理","单证查询","统计分析","查看条款","系统", "用户管理"和"退出".

消息管理

消息管理:客户端与业务管理端相关定制信息的双向传递.客户可以接收业务管理端发来的消息,如"投保单审核通过","投保单需要修改","批改申请审核通过"等信息,并可以查看相关详情.

客户登陆系统后,如果有消息,消息清单界面会自动弹出.在消息清单页面,选择条目可以在右边查看消息的详细信息.

可以通过单击"查看"来对该保单进行查看操作.当保单状态为需修改时,可以通过点击"修改"来对该保单继续保单修改的操作.也可通过点击"打印保单"来对已经生成正式保单的保单进行打印.

当用户不希望消息窗口自动弹出或希望改变消息更新时间.在登陆前可以修改通讯参数设置.

点击"消息窗口自动弹出", 可控制消息窗口的弹出.如需要修改消息弹出的时间间隔.可对"弹出时间间隔"进行修改.

保险实务

国内货运险投保

单击"保险实务"的"国内货运险投保",即进入"国内货运险投保"页面.

所有的红色框为必填项.当投保人和被保险人是同一人时,可在这一栏前打上"√".被保险人名称和地址就会变成灰色,毋须填入.

选择货物类型时,将鼠标停放在所选类型上,将会有提示信息显示全部货物类型信息

国内货运险投保页面(一)

单击"保险及备注信息"

国内货运险投保页面(二)

当所要填写的信息都填完以后,可以保存投保单,以方便下次投保相似的保单使用.单击"保存投保单",填写所要保存投保单的名称,然后单击"保存".

单击"完成(Alt+O)",就进入"中国人民财产保险股份有限公司国内货物运输险投保单"预览页面.

单击"继续修改"可以返回刚才投保的页面;单击"提交投保单",就会出现"投保单操作信息",提示"您的投保单已被受理,请等待审核通知".

单击"确定(Alt+O)",即重新返回投保页面.

注:"复制投保单(Alt+C)"是一个相当实用的功能键.用户可以将比较常用的投保单保存下来,待下次投保类似的保单时,单击"复制投保单(Alt+C)",选择需复制投保单的文件名,单击"复制",导入以前保存的投保单,略加修改即可形成下一份新的投保单,可大大减少工作量.

国内货运险批量投保

单击"保险实务"的"国内货运险批量投保",即进入"国内货运险批量投保"页面.

选择保单信息所在的文件, 文件类型为EXCEL文件.

单击"修改"可对投保单内容进行修改.单击"批量投保", 即可完成批量投保过程

批量投保后, 将会有弹出返回信息窗口. 显示信息如下: 单元序列号,投保单号,保单号,状态和返回消息

进出口货运险投保

单击"保险实务"的"进出口货运险投保",即进入"进出口货运险投保"页面.

进出口货运险投保页面(一)

所有的红色框为必填项.当投保人和被保险人是同一人时,可在这一栏前打上"√".被保险人名称和地址就会变成灰色,毋须填入.

关于"目的地"框后的专用理赔代理地匹配框——"理赔代理"的操作说明:

用户在目的地框内输入目的地后,点击"理赔代理"框.系统根据用户输入的前几个字母,按照英文字母排序,在该框内自动跳出相关的理赔代理地(地点),供用户选择.用户点击选中即可.当投保单信息提交后,系统自动匹配到相应的理赔代理检验机构,并可打印至保单上. ..


网站名称:cargo安全服务器 cargo系统
文章源于:http://scyanting.com/article/ddjpici.html