Skip to content

Commit

Permalink
Merge pull request #1 from Duan-0916/main
Browse files Browse the repository at this point in the history
feat: 文档链接调整
  • Loading branch information
15669072513 committed Jun 28, 2024
2 parents 488c24c + 32359f3 commit 2ee3823
Show file tree
Hide file tree
Showing 10 changed files with 22 additions and 22 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<h1>Layotto (L8): To be the next layer of OSI layer 7</h1>
<img src="https://raw.githubusercontent.com/mosn/layotto/main/docs/img/logo/grey2-1.svg" height="120px">

[![Layotto Env Pipeline 🌊](https://github.com/mosn/layotto/actions/workflows/quickstart-checker.yml/badge.svg)](https://github.com/mosn/layotto/actions/workflows/quickstart-checker.yml)
[![Layotto Env Pipeline 🌊](https://github.com/mosn/layotto/actions/workflows/proto-checker.yml/badge.svg)](https://github.com/mosn/layotto/actions/workflows/quickstart-checker.yml)
[![Layotto Dev Pipeline 🌊](https://github.com/mosn/layotto/actions/workflows/layotto-ci.yml/badge.svg)](https://github.com/mosn/layotto/actions/workflows/layotto-ci.yml)

[![GoDoc](https://godoc.org/mosn.io/layotto?status.svg)](https://godoc.org/mosn.io/layotto)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ As the bottom layer of Layotto is Mosn, the WASM extension framework is also the
Among them, Manager is responsible for managing and dynamically updating WASM plugins;VM for managing WASM virtual machines, modules and instances;ABI serves as the application binary interface to provide an external interface [2].

Here a brief review of the following concepts:\
[Proxy-Wasm](https://github.com/proxy-waste) :WebAssembly for Proxies (ABI specification) is an unrelated ABI standard that defines how proxy and WASM modules interact [3] in functions and callbacks.
[proxy-wasm-go-sdk](https://github.com/tetratelabs/proxy-wasm-go-sdk) :defines the interface of function access to system resources and infrastructure services based on [proxy-wasm/spec](https://github.com/proxy-wasm/speci) which brings together the Runtime API to increase access to infrastructure.\
[proxy-wasm-go-host](https://github.com/mosn/proxy-waste-go-host) WebAssembly for Proxies (GoLang host implementation):Proxy-Wasm golang implementation to implement Runtime ABI logic in Layotto.\
[Proxy-Wasm](https://github.com/proxy-wasm) :WebAssembly for Proxies (ABI specification) is an unrelated ABI standard that defines how proxy and WASM modules interact [3] in functions and callbacks.
[proxy-wasm-go-sdk](https://github.com/tetratelabs/proxy-wasm-go-sdk) :defines the interface of function access to system resources and infrastructure services based on [proxy-wasm/spec](https://github.com/proxy-wasm/spec) which brings together the Runtime API to increase access to infrastructure.\
[proxy-wasm-go-host](https://github.com/mosn/proxy-wasm-go-host) WebAssembly for Proxies (GoLang host implementation):Proxy-Wasm golang implementation to implement Runtime ABI logic in Layotto.\
VM: Virtual Machine Virtual machine. The Runtime types are wasmtime, wasmer, V8, Lucet, WAMR, and wasm3

1, see first the configuration of stream filter in [quickstart例子](https://mosn.io/layotto/#/start/waste/start) as follows, two WASM plugins can be seen, using waste VM to start a separate instance with configuration: below
Expand Down Expand Up @@ -626,7 +626,7 @@ Layotto WebAssemly involves more basic WASM knowledge, but it is understandable

### References

- [1] [WebAssembly practice in MOSN](https://mosn.io/blog/posts/mosn-waste-framework/)
- [1] [WebAssembly practice in MOSN](https://mosn.io/blog/posts/mosn-wasm-framework/)
- [2] [feature: WASM plugin framework](https://github.com/mosn/mosn/pull/1589)
- [3] [WebAssembly for Proxies (ABI Spec)](https://github.com/proxy-wasm/spec)
- [4] [Proxy WebAssembly Architecture](https://techhenzy.com/proxy-webassembly-archive/)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,8 @@ Community-based meetings themselves
## References

Apollo
[https://github.com/apolloconfig/apollo/pul/3670](https://github.com/apolloconfig/apollo/pul/3670)
[https://github.com/apolloconfig/apollo/pull/3670](https://github.com/apolloconfig/apollo/pull/3670)
[https://github.com/apolloconfig/apollo/issues/3684](https://github.com/apolloconfig/apollo/issues/3684)
[https://github.com/apolloconfig/apollo/discussions/categories/announcements] (https://github.com/apolloconfig/apolonfigure/documents)
[https://github.com/apolloconfig/apollo/discussions/categories/announcements](https://github.com/apolloconfig/apollo/discussions/categories/announcements)

Tidb's community-based organization [https://pingcap.com/blog-cn/tidb-community-upgrade/](https://pingcap.com/blog-cn/tidb-community-upgrade/)
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ for reference [https://segmentfault.com/a/1190000017816452](https://segmentfault
2. Integrated Monitoring System: Access to Prometheus+Grafana

Similar to Spring Boot Actuator's access to Prometheus+Grafana
reference[Spring-Boot-Metrics监控之Prometheus-Grafana](https://bigjar.github.io/2018/08/19/Spring-Boot-Metrics monitored by Prometheus-Grafana/)
reference[Spring-Boot-Metrics监控之Prometheus-Grafana](https://bigjar.github.io/2018/08/19/Spring-Boot-Metrics监控之Prometheus-Grafana/)

**Q: Do not control capabilities like "toggle the traffic of specific components inside Layotto"**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,14 +81,14 @@ When users want to add an API, they can develop a package in their own project (

How to add your own proto, add your own private API?

An example is [the shellowold package provided in the project](https://github.com/mosn/layotto/tree/main/cmd/layotto_multiple_api/hellowld) which implements custom API, \`\`Sayhello\`
An example is [the shellowold package provided in the project](https://github.com/mosn/layotto/tree/main/cmd/layotto_multiple_api/helloworld) which implements custom API, \`\`Sayhello\`

Use this as an example to explain the steps to write an API plugin:

#### step 0. Define your own proto file and compile a pb

For example, users would like to add their own `Greeter` API, offering the `Sayhello` method, write a proto:
(this example is my paste from [grpc official exams](https://github.com/grpc/grpc-go/blob/master/examples/hellotorld/helloorld/hellotorld.proto)
(this example is my paste from [grpc official exams](https://github.com/grpc/grpc-go/blob/master/examples/helloworld/helloworld/helloworld.proto)

```protobuf
syntax = "proto3";
Expand Down Expand Up @@ -230,7 +230,7 @@ See[自定义组件的配置文档](docs/component_species/custom/common)

##### View Example

Look at a specific example, in [helloowold exams](https://github.com/mosn/layotto/lob/main/cmd/layotto_multiple_api/helloorld/grpc_api.go), `*server` implements `Init`
Look at a specific example, in [helloowold exams](https://github.com/mosn/layotto/blob/main/cmd/layotto_multiple_api/helloworld/grpc_api.go), `*server` implements `Init`
and `Register`:

```go
Expand Down Expand Up @@ -292,7 +292,7 @@ Graph below:
#### step 3. Sign up your own API into Layotto

After achieving your private API
following the above steps, you can [register it in your main main in Layotto](https://github.com/mosn/layotto/bllob/5234a80cdc9798162d03546eb8e0ee163c0ad60/cmd/layotto_multiple_api/main.go#L203):
following the above steps, you can [register it in your main main in Layotto](https://github.com/mosn/layotto/blob/5234a80cdc97798162d03546eb8e0ee163c0ad60/cmd/layotto_multiple_api/main.go#L203):

```go

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Positions are designed to provide services, resources and security for functions

When officially supported containers are running, docker is one of the most scenic implementations currently used, and security containers such as kata and gvisor are also using the technology and Layotto builds on their thinking and integrates the function loading process into concrete implementation when the container is running.

#### D,[Containerd-shim-layotto-v2](https://github.com/layotto/containerd-waste)
#### D,[Containerd-shim-layotto-v2](https://github.com/layotto/containerd-wasm)

Based on Containerd's V2 interface definition, the logic of the running of the container is customized, such as creating the container to perform the operation to allow Layotto load and run the wasm function.

Expand All @@ -38,7 +38,7 @@ The factual standard of the current container schedule, life-cycle management an

#### A. [proxy-wasm-go-sdk](https://github.com/layotto/proxy-wasm-go-sdk)

The interface of function access to system resources and infrastructure services is defined and implemented on a community-based basis [proxy-waste/spec] (https://github.com/proxy-waste/speci) that brings together the [Runtime API](https://github.com/mosn/layotto/blob/main/spec/proto/runtime/v1/runtime.proto) and adds ABI to infrastructure visits.
The interface of function access to system resources and infrastructure services is defined and implemented on a community-based basis [proxy-waste/spec] (https://github.com/proxy-wasm/spec) that brings together the [Runtime API](https://github.com/mosn/layotto/blob/main/spec/proto/runtime/v1/runtime.proto) and adds ABI to infrastructure visits.

#### B. [proxy-wasm-go-host](https://github.com/layotto/proxy-wasm-go-host)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

### Programming UI

For example, the start configuration for state.redis now has the following (screenshot taken from [dapr documents](https://docs.dapr.io/reference/components-reference/support-state-stores/setup-redis/)
For example, the start configuration for state.redis now has the following (screenshot taken from [dapr documents](https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-redis/)
![image](https://user-images.githubusercontent.com/26001097/168946975-9804d792-8851-463f-80e-2231468f0aa.png)

The status quo is that these configurations kv are initialized when the:redis component startup; all configurations are static configurations, only once, and no subsequent configuration changes are listened.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ The renewal API is disputed and version 1 is not part of the renewal API

# Research

| **System** | **Distributed Lock** | **Block lock (watch)** | **Availability** | **Write line consistent** | **sequencer ([chubby论文里提出的feature](https://static.googleusercontent.com/media/research.google.com/en-TW/archive/chubby-osdi06.pdf)** | **Renewed** |
| **System** | **Distributed Lock** | **Block lock (watch)** | **Availability** | **Write line consistent** | **sequencer ([chubby论文里提出的feature](https://static.googleusercontent.com/media/research.google.com/zh-TW//archive/chubby-osdi06.pdf)** | **Renewed** |
| ------------- | -------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| Solo Redis | yes | x | Lock service is not available when single point expires | yes | yes(needed pic) | yes |
| rediscluster | yes | x | yes | no. Failures can cause locking | yes(needed pic) | yes |
| redis Redlock | yes | | | | | |
| consul | yes | | | | | |
| zookeeper | yes | yes | yes has fo, [elections within 200 ms] (https://pdos.csail.mit.edu/6.824/papers/zookeper.pdf) | yes | yes use zxid as sensor | yes |
| zookeeper | yes | yes | yes has fo, [elections within 200 ms] (https://pdos.csail.mit.edu/6.824/papers/zookeeper.pdf) | yes | yes use zxid as sensor | yes |
| etcd | yes | yes | yes | yes | yes use revision | yes lease. KeepAlive |

Can see some difference in capacity or
Expand Down Expand Up @@ -266,12 +266,12 @@ There will be some arithmetic logic.You need to consider whether all locks can b

# Reference

[How to do distressed blocking](https://martin.kleppmann.com/2016/02/08/how-to-do-disturbuted-locking.html)
[How to do distressed blocking](https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html)

[The Chubby lock service for loosely-coupled distributed systems] (https://static.googleusercontent.com/media/research.google.com/zh-TW//archive/chubby-osdi06.pdf)

[https://www.jianshu.com/p/6e72e3eee5623] (https://www.jianshu.com/p/6e72eee5623)

[http://zhangtielei.com/posts/blog-redlock-asoning.html] (http://zhangtielei.com/posts/blog-redlock-asoning.html)
[http://zhangtielei.com/posts/blog-redlock-reasoning.html] (http://zhangtielei.com/posts/blog-redlock-reasoning.html)

[http://zhangtielei.com/posts/blog-redlock-reasoning-part2.html] (http://zhangtielei.com/posts/blog-redlock-reasoning-part2.html)
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Select * from message order by message-id limit 100

This is common when using nosql, because nosql has difficulty indexing the timestamp field

- Increase in lone transfer in sharding.e.g.[Tidb的自增id](https://docs.pingcap.com/en/tidb/stable/auto-increment) ensures the ID increment generated on a single server and does not guarantee a global (multi-servers) one-tone.
- Increase in lone transfer in sharding.e.g.[Tidb的自增id](https://docs.pingcap.com/zh/tidb/stable/auto-increment) ensures the ID increment generated on a single server and does not guarantee a global (multi-servers) one-tone.

- Global monochrome

Expand Down Expand Up @@ -237,6 +237,6 @@ You can define interfaces first, components are not implemented first, and there

[设计分布式唯一id生成](https://www.jianshu.com/p/fb9478687e55)

[Architectural Chat ID generation](https://www.w3cschool.cn/archivectroad/archittracad-distributed-id.html)
[Architectural Chat ID generation](https://www.w3cschool.cn/architectroad/architectroad-distributed-id.html)

[Leaf - USG point ID generation system] (https://tech.meituan.com/2017/04/21/mt-leaf.html)
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Run:

## Run Demo

The corresponding call end code is in[client.go](https://github.com/mosn/layotto/bllob/main/demo/flowcontrol/client.go), which runs the Sayhello interface with layotto:
The corresponding call end code is in[client.go](https://github.com/mosn/layotto/blob/main/demo/flowcontrol/client.go), which runs the Sayhello interface with layotto:

Switch directory:

Expand Down

0 comments on commit 2ee3823

Please sign in to comment.