The Many Faces of Struct Tags
isn't there. But it's so useful it's in the official reflect package. Use go vet to catch errors. http://golang.org/pkg/reflect/#StructTag.Get candidate := Candidate{} st := reflect.TypeOf(candidate) opts based on the command-line flags used Why? Convenience, personal preference Default Values http://github.com/mcuadros/go-defaults Library for setting non-zero default values of a type. Benefits field can be. Should you do this? Nah. type APIResult struct { Status interface{} `types:"int,error"` ZipCode interface{} `types:"uint,string"` Address interface{} `types:"Home,Office"` } types.Validate(APIResult{0 码力 | 18 页 | 148.80 KB | 1 年前3云原生图数据库解谜、容器化实践与 Serverless 应用实操
import ( "fmt" "net/http" ) �� HelloWorld writes "Hello, World!" to t func HelloWorld(w http.ResponseWriter, r fmt.Fprint(w, "Hello, World!\n") } func register(fn interface{}) error { ��� if fnHTTP fnHTTP, ok �� fn.(func(http.ResponseWriter, *http.Request)); ok { if err �� functionframeworks.RegisterHTTPFunction(ctx, fnHTTP); err �� nil } ��� } package main import ( ��� userfunction "{{.Package}}" Serving 4 种函数调⽤类型(CNCF Serverless ⽩⽪书) Function Serving 同步函数: HTTP / blocking / Req & Resp 运⾏时: Knative Serving KEDA + KEDA http-add-on(Beta) + Deployment 异步函数: Event driven 运⾏时: KEDA + Deployment0 码力 | 47 页 | 29.72 MB | 1 年前3构建统一的云原生应用 可观测性数据平台
例如:QPS降低与进程、服务器的日志有关联吗? ③ 看云网更清晰 Simplify the growing complexity. 数据打通并不简单 ④应用、系统、网络的Log之间 例如:应用日志ERROR与Ingress日志有什么关联吗? ④ 看云网更清晰 Simplify the growing complexity. 数据打通并不简单 ⑤「非Request scope」的Log与Trace之间 使用CK字典解码Int化的系统标签 SELECT dictGet( deepflow.pod_map, ('name’), (toUInt64(pod_id_0)) ) AS pod_name_0 FROM http_requests ... CREATE DICTIONARY deepflow.pod_map ( `id` UInt64, `name` String ) PRIMARY KEY id SOURCE(MYSQL( SELECT dictGet( deepflow.pod_label_env, (‘value’), (toUInt64(pod_id_0)) ) AS pod_label_env_0 FROM http_requests ... 看云网更清晰 Simplify the growing complexity. MultistageCodec:采集 ➔ 存储 ➔ 查询 DeepFlow Agent0 码力 | 35 页 | 6.75 MB | 1 年前301. MOSN 高性能网络扩展实践 - 王发康
功能职责 Envoy MOSN MoE Data Plane HTTP(L7) HTTP Filter GoLang L7 extension Filter HTTP Filter Stream filter GoLang L7 extension SDK HTTP Filter(via GoLang) HTTP Filter(via GoLang) TCP(L4) TCP Filter manager MoE 方案介绍 — TraceID 事例 Other http filter AntVip/Pilot Trace ID filter Other http filter(via GoLang) Header to metadata http filter Router http filter Cluster subset LB Cluster Manager/xDS extension SDK GoLang L7 extension filter 5 Other http filter(via GoLang) CGO 1 2 xDS Control Plane Data Plane MoE 2 4 3 Request Rest Http 相关问题点 Envoy 和 MOSN 如何交互(1、2、4、5) 内存如何管理(2、4)0 码力 | 29 页 | 2.80 MB | 1 年前336-云原生监控体系建设-秦晓辉
数量,按照 queue type 分别统计 • scheduler_schedule_attempts_total 按照调度结果统计的调度重试次数。 “unschedulable” 表示 无法调度,“error” 表示调度器内部错误 Kubernetes控制面 etcd 的监控 • ETCD 也是直接暴露 /metrics 接口,可以直接抓取 • ETCD 可以考虑使用 sidecar 模式来抓,对于运维比较简0 码力 | 32 页 | 3.27 MB | 6 月前3云原生微服务最佳实践
云原生微服务最佳实践 微服务简介 最佳实践 用户故事 微服务简介 • 云原生和微服务简介 • 微服务的价值和挑战 • 阿里微服务产品解法和优势 云原生和微服务简介 微服务的价值和挑战 图片源自:http://www.zyiz.net/ 价值 效率(人越来越贵,算力越来越便宜) • 研发超过 10 人在 1 个代码冲突多 • 系统超过 5 个测试&上线协同代价大 • 数字化升级需要快速迭代 性能 微服务治理全链路灰度最佳实践 • 斯凯奇 云原生网关最佳实践 来电 微服务治理全链路灰度最佳实践 app 充电宝设备节点 web 网关 服务注册发现 配置中心 HTTP HTTP HTTP HTTP HTTP 10% 90% web web web服务 Gray 基线版本 用户中心 Dubbo Gray Dubbo 基线版本 RPC RPC 订单中心 RDS 云数据库 POLARDB 微服务中心 限流熔断 消息队列 AHAS ARMS SLS Web应⽤防⽕墙 分布式任务LTS 服务注册发现 配置中心 RPC HTTP HTTP HTTP HTTP 调度分配 斯凯奇 云原生网关最佳实践 配置管理最佳实践 服务和路由规则 预案 限流 开关 动态UI 机房切流 文案、公告 前后端独立发布 布局、氛围调整 高可用平台配置0 码力 | 20 页 | 6.76 MB | 1 年前31.3 MOSN 在云原生的探索及实践
数据信息,是如何交互管理的? 通过扩展 Envoy 中的 Admin API 使其支持 xDS 同等功能的 API, MOSN 集成的 Service Discovery 组件通过该 API(rest http) 和 Envoy 交互 使其 MoE 的服务发现能力也 具备“双模”能力,可同时满足 大规模及云原生的服务发现通 道 MOE 方案介绍 — 如何 Debug Envoy • Admin 交互内存生命周期管理 • 结构体内存对齐 • GoLang runtime invalidptr check Envoy 相关 • 默认配置不支持 HTTP1.0 • Envoy 时间模块使用的是 UTC • upstream 支持 HTTP2 需要显示配置 • 访问日志换行需要自行配置 format 支持 • 异常场景下响应状态码不标准 • 各个 worker 处理请求均衡性问题 理念:通用能力回馈社区,同社区共建标准 来吧,提个 PR 就是 gopher Q ? A : E MOSN 官网 http://mosn.io MOSN meetup https://github.com/mosn/meetup MOSN github http://github.com/mosn/mosn MOSN 开源交流群2 欢迎技术交流 Thanks0 码力 | 36 页 | 35.61 MB | 1 年前3consul 命令行
。这可以在Consul 0.7.1及更高版本中找到。在Consul 1.0及更高版本中,可以将其设置为 go-socka dr 模板 ● -client:Consul将绑定客户端接口的地址,包括HTTP和DNS服务器。默认情况下,这是“127.0.0. ”,仅允许环回连接。在Consul 1.0及更高版本中,可以将其设置为以空格分隔的要绑定的地址列表 或者设置为 可以解析为多个地址的 go-sockaddr模板。 hcl:HCL配置片段。此HCL配置片段将附加到配置中,并允许在命令行上指定配置文件的所有选项 可以多次指定此选项。这是在Consul 1.0中添加的。 ● http-port:要监听的HTTP API端口。这将覆盖默认端口8500.将Consul部署到通过环境传输HTTP 口的环境(例如CloudFoundry等PaaS)时,此选项非常有用,允许您通过Procfile直接设置端口。 ● join:启动时加入的 加读取可伸缩性。 ● -syslog1:此标志允许记录到syslog。这仅在Linux和OSX上受支持。如果在Windows上提供,将 致错误。 ● -ui:启用内置Web UI服务器和所需的HTTP路由。这消除了将Consul Web UI文件与二进制文件 开维护的需要。 ● -ui-dir:此标志提供包含Consul的Web UI资源的目录。这将自动启用Web UI。该目录必须对代理 读。从Consul0 码力 | 5 页 | 346.62 KB | 1 年前3SBOM 为基础的云原生应用安全治理
https://A.com/xx app.js http://A.com/apixxx 链路跟踪: http://C.com/apixxx3 refer:https://A.com/xx fosf://...... Web 部署IAST agent java 部署IAST agent • API用于内部/外部应用可调用的接口,包括 http/https、定制TCP、RPC等协议。 • • 微服务架构下,暴露API指数级增加 doubo java 部署IAST agent 其他外部应 用直接访问 a.html 移动APP、 外部Web、 外部服务等 http://C.com/apixxx3 https://B.com/apixxx2 传统认知的 web入口 新型入口 fosf://xxx.serv ices.user.id 序号 含义 API1 失效的对象级授权0 码力 | 30 页 | 2.39 MB | 1 年前3云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)
pod): payload1 = http_delimiter.join( (f'GET /api/v1/namespaces/{namespace}/pods/{pod}/exec HTTP/1.1', host_header, auth_header, upgrade_header, conn_header)) payload1 += http_delimiter * 2 ssock 应用的风险建立相关的防护能力,包括 SQL 注 入、命令注入攻击、XSS 跨站、Webshell 上传、内存 Webshell、WEB 服务 器漏洞攻击、第三方组件漏洞、CSRF 跨站请求伪造等攻击行为。同时还应建立 对 HTTP 异常检测能力、IP 地址的访问控制能力、URL 访问控制能力等。 API 安全的治理需要从 API 生命周期的角度考虑,即从 API 的规划、开发、 测试、部署、运行和下线等各个阶段全面考虑安全性,避免安全漏洞被潜在的攻 行 防护,保证应用系统的安全运行。 (2)WAF WAF 通过分析来自客户端的 HTTP 请求,并根据其规则库对其进行检查, 以检测和阻止恶意攻击。在 Web 防护过程中,WAF 是一种专为保护 Web 应 用设计的防火墙。它位于 Web 应用和 Internet 之间,能够监控、过滤并阻止 HTTP 流量中的恶意攻击,如 SQL 注入、XSS 和 CSRF 攻击等。在 API 防护0 码力 | 72 页 | 2.44 MB | 1 年前3
共 18 条
- 1
- 2