Hidden Overhead of a Function API
performance, we typically think about the function logic. We’ll see that a well designed function API can have an even larger impact.How will we compare performance? ● Benchmarks at this low level are advance(RandIter& iter, Diff n, random_access_iterator_tag) { iter += n; } ● Access token to make some API available only inside the library (like the default “package private” access modifier in Java) Empty0 码力 | 158 页 | 2.46 MB | 5 月前3Apache APISIX How to implement plugin orchestration in API Gateway
Apache APISIX: How to implement plugin orchestration in API Gateway wenming@apache.org Apache APISIX VP Ming Wen 温铭 • Co-founder @ api7.ai • VP and PMC member, Apache APISIX • committer, Apache Apache APISIX • Custom plugin development in API Gateway • Generate APISIX plugins automatically • The future of API Gateway Apache APISIX • Cloud Native API Gateway (https://github.com/apache/apisix) Zero-Trust gateway Technology Architecture Custom plugin development in API Gateway Difficulties of gateway implementation • API Gateway is not an out-of-the-box infra project, which is different from0 码力 | 28 页 | 1.19 MB | 6 月前3GraphBLAS: Building a C++ Matrix API for Graph Algorithms
the important data structures and concepts? Prior work in the GraphBLAS community, C API Overview of our draft C++ API How might this interoperate with standard C++, graph library proposal? 4[DISTRIBUTION the important data structures and concepts? Prior work in the GraphBLAS community, C API Overview of our draft C++ API How might this interoperate with standard C++, graph library proposal? 5[DISTRIBUTION the important data structures and concepts? Prior work in the GraphBLAS community, C API Overview of our draft C++ API How might this interoperate with standard C++, graph library proposal? 6[DISTRIBUTION0 码力 | 172 页 | 7.40 MB | 5 月前3蚂蚁金服 API Gateway Mesh 思考与实践
蚂蚁金服 API Gateway Mesh 思考与实践 靳文祥(花名:贾岛) 蚂蚁金服 高级技术专家1/21 /01 /02 /03 API Gateway Mesh 的定义 蚂蚁金服 API Gateway Mesh 实践 云原生 API Gateway 的思考2/21 API Gateway Mesh 的定义 /013/21 LB\Ingress API Gateway POD Sidecar App POD Traffic Control Plane K8S Cluster API Gateway in Service Mesh4/21 API Gateway Service Mesh vs 南北流量(内外) API Gateway vs Service Mesh A infrastructure to decouple the application Service Mesh is Patterns SofaRPC API Gateway MQ Client Service Code6/21 LB\Ingress API Gateway Sidecar App POD Sidecar App POD Traffic Control Plane Cluster API Gateway Mesh An infrastructure0 码力 | 22 页 | 1.72 MB | 5 月前303-基于Apache APISIX的全流量API网关-温铭
APACHE APISIX的全流量API网关 温铭, 来自一家在远程工作方式下商业化开源项目的创业公司(支流科技), 担任CEO&联合创始人, Apache 顶级项目APISIX的PMC主席, Skywalking开源项目的贡献者(commiter)。在创业之前, 在360做企业安全, 360开源委员会的发起人, 腾讯的TVP, TARS基金会的TOC成员, 在安全领域有四十多个专利, 最近三年全 加速了技术落地。新的时代中每个公司的技术都是非常重要的组成部分, 在一个商业竞争激烈的 时代, 公司愈早的占据技术顶峰愈是能够占据商业顶峰。网关作为云原生入口, 是掌握云原生的一个必经 之地, 是开启"财富"的密钥。 微服务和 API 网关的演进 从2014-2015年, 谷歌搜索引擎上"微服务"关键字的搜索趋势直线上 升 在单体架构上, 任一请求都会负载到整个的单体服务集群上 在微服务架构上, 对应请求会负载到对应的微服务子服务集群上 间隔离、降低故障率 但是同样的带来的一些问题: 接口之间通用的功能重复开发、膨胀的 服务数量、难以管理 使用API网关模式 使用API网关进行API聚合 使用API网关实现灰度发布 使用API网关实现服务熔断 与传统API网关的功能 • 让 API 请求更安全、更高效的得到处理 • 覆盖 Nginx 的所有功能:反向代理、负载均衡 • 动态上游、动态 SSL 证书、动态限流限速0 码力 | 11 页 | 6.56 MB | 6 月前3Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展
Protocol Canary deployment Chaos testing User Subscription & SLA Control Plane Programmable API APP ...... Data Plane Control Layer Application Layer通过Service Mesh控制面统一管理F5和Envoy https://aspenmesh subscription & SLA to operation policy Data Plane Protocol Programmable API Data Plane Control Layer 2. APP calls control plane API to create the operation policy 3. Control plane distributes the operation 能否可以成为一个通用的接口协议? 是否会出现Envoy之外的大量数据面实现? • 建议:对xDS接口进行改进,去掉实现相关内容 Ø Service Mesh的发展 • 控制面对数据面软硬件的统一控制能力? • 通过控制面API接入各种丰富的应用场景 - 下一个热点?总体架构-高层视图 DexMesh控制面 MSB-SDClient MSB-Consul Jaeger DexMesh数据面 Pod Microservice0 码力 | 27 页 | 11.99 MB | 5 月前3The Roles of Symmetry And Orthogonality In Design
Examples: • C++ Language Specification (Is all about “Guarantees”) • System/Subsystem Design (Defines API boundaries and behavior) • Implementation details (e.g., “lock-free” and “wait-free” algorithms provide Examples: • C++ Language Specification (Is all about “Guarantees”) • System/Subsystem Design (Defines API boundaries and behavior) • Implementation details (e.g., “lock-free” and “wait-free” algorithms provide adaptive behavior may invoke novel execution paths • Examples: • Prefer generalized solution, but plugin API allows for custom processing (such as hardware offloading) • Prefer default configuration, but permit0 码力 | 151 页 | 3.20 MB | 5 月前3Writing Python Bindings for C++ Libraries: Easy-to-use Performance
code ○ Interoperability with data structures in Python - shared memory space ● How? ○ Python/C API ○ Cython ○ Numba / PyPy ○ Boost::Python ○ Pybind11 ○ cppyy ○ Mix and match! Why C++ and PythonHello can call methods (from) to change the state of the program ○ API documented nicely https://docs.python.org/3/c-api/index.html ● We can add “hooks” into the program to invoke our methods in in certain situations. ● Such a module is called an “extension module”.Python C API #include int cpp_increment(int i) { return i + 1; } static PyObject* python_increment(PyObject* self, 0 码力 | 118 页 | 2.18 MB | 5 月前3Hiding Your Implementation Details is Not So Simple
begin with. Takeaway 34 Hiding your Implementation Details, Amir Kirsh @ CppCon, 202435 API (including internal API of all kinds!) Hiding your Implementation Details, Amir Kirsh @ CppCon, 2024Hyrum's Law sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.37 API Hiding your Implementation Details part of an API.38 API Hiding your Implementation Details, Amir Kirsh @ CppCon, 2024 Studies show that applications tend to use a small part of an API. Unused API is much more bug prone!39 API Hiding0 码力 | 145 页 | 2.45 MB | 5 月前3Leveraging C++20/23 Features for Low Level Interactions
reference. The ‘get’ method accesses this naked pointer unique_ptrmy_t_ptr = make_unique (); my_c_api( my_t_ptr -> get() );Naive crossing of the C/C++ boundary In C++: Smart Pointers are GREAT! Every naked pointer Then we can use the result, right? unique_ptr my_t_ptr = make_unique (); my_c_api( my_t_ptr -> get() ); next_function( my_t_ptr -> get() );Naive crossing of the C/C++ boundary In make_unique (); my_c_api( my_t_ptr -> get() ); next_function( my_t_ptr -> get() );Smart pointers across the C/C++ boundary Use case: Allocate something in C++ that needs to go through a C API Pass that into 0 码力 | 56 页 | 5.39 MB | 5 月前3
共 186 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19
相关搜索词
HiddenOverheadofFunctionAPIApacheAPISIXHowtoimplementpluginorchestrationinGatewayGraphBLASBuildingC++MatrixforGraphAlgorithms蚂蚁金服Mesh思考实践03基于流量网关温铭Service一代下一代SDN通信角度角度看发展TheRolesSymmetryAndOrthogonalityInDesignWritingPythonBindingsLibrariesEasyusePerformanceHidingYourImplementationDetailsisNotSoSimpleLeveraging2023FeaturesLowLevelInteractions