trustgraph/docs/apis/README.md

70 lines
2.1 KiB
Markdown
Raw Normal View History

2024-12-28 14:18:07 +00:00
2024-12-28 14:26:37 +00:00
# TrustGraph APIs
## Overview
2024-12-28 14:18:07 +00:00
If you want to interact with TrustGraph through APIs, there are 3
forms of API which may be of interest to you:
2024-12-28 14:26:37 +00:00
### Pulsar APIs
2024-12-28 14:18:07 +00:00
Apache Pulsar is a pub/sub system used to deliver messages between TrustGraph
components. Using Pulsar, you can communicate with TrustGraph components.
Pros:
- Provides complete access to all TrustGraph functionality
- Simple integration with metrics and observability
2024-12-28 14:26:37 +00:00
2024-12-28 14:18:07 +00:00
Cons:
- Integration is non-trivial, requires a special-purpose Pulsar client
library
- The Pulsar interfaces are likely something that you would not want to
expose outside of the processing cluster in a production or well-secured
deployment
2024-12-28 14:26:37 +00:00
### REST APIs
2024-12-28 14:18:07 +00:00
A component, `api-gateway`, provides a bridge between Pulsar internals and
the REST API which allows many services to be invoked using REST APIs.
Pros:
- Uses standard REST approach can be easily integrated into many kinds
of technology
- Can be easily protected with authentication and TLS for production-grade
or secure deployments
2024-12-28 14:26:37 +00:00
2024-12-28 14:18:07 +00:00
Cons:
- For a complex application, a long series of REST invocations has
latency and performance overheads - HTTP has limits on the number
of concurrent service invocations
- Lower coverage of functionality - service interfaces need to be added to
`api-gateway` to permit REST invocation
2024-12-28 14:26:37 +00:00
### Websocket API
2024-12-28 14:18:07 +00:00
The `api-gateway` component also provides access to services through a
websocket API.
Pros:
- Usable through a standard websocket library
- Can be easily protected with authentication and TLS for production-grade
or secure deployments
- Supports concurrent service invocations
2024-12-28 14:26:37 +00:00
2024-12-28 14:18:07 +00:00
Cons:
- Websocket service invocation is a little more complex to develop than
using a basic REST API, particular if you want to cover all of the error
scenarios well
2024-12-28 14:26:37 +00:00
## Further reading
- [TrustGraph websocket overview](websocket.md)
- [TrustGraph Pulsar overview](pulsar.md)
- API details
- [Graph RAG](api-graph-rag.md)
- [Document load](api-document-load.md)
- [Agent](api-agent.md)
- [Embeddings](api-embeddings.md)
- [Text completion](api-text-completion.md)