forked from micro/micro
-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Asim Aslam edited this page Jun 1, 2016
·
86 revisions
The micro ecosystem is rapidly growing but there's still a lot to do.
- Allow requests directly to RPC services via path (/greeter/say/hello => service: greeter method: Say.Hello)
- TLS Support
- Allow namespace to be set via flags
- Apache log format
- Stats page
- Allow REST requests to RPC based services
- Make the choice a flag/env var
- HTTP Middleware/Plugins
- Configurable namespace for services
- Configurable hostnames
- Support label based routing
- Support weighted load balancing
- Proxy requests to "web" micro services
- List "web" micro services on home screen
- TLS Support
- Web Sockets
- Allow namespace to be set via flags
- Apache log format
- Stats page
- CLI interface in Web UI
- Configurable hostnames
- TLS Support
- Apache log format
- Stats page
- Raise awareness for non Go native app usage
- Make it work with multiple transports
- Support querying via proxying the sidecar
- Allow connecting through the API or Web where private network isn't available
- Done via the Sidecar
- Bot
- Implement the bot
- Feature parity with CLI
- Slack input
- Hipchat input
- IMAP input
- Broker input
- Stream interface
- Dependencies
- Create dependency management config for services
- Allow push/pull from micro.mu
- Examples
- greeter client/server {ruby, python, go}
- go-micro/examples
- pub sub
- code generation example
- geo service and api
- slack bot API service
- wrappers/middleware
- Top level initialisation
- Middleware/Wrappers
- Code generation
- Experimental generator github.com/micro/protobuf
- Example usage
- Server side generator
- Stable interface
- Registry
- Support Service TTLs on registration so services can be automatically removed
- Healthchecking function to renew registry lease
- Service/Node filters - known as a Selector
- Fix the watch code to return a channel with updates rather than store in memory
- Add timeout option for querying
- Broker
- Support distributed queuing
- Support acking of messages
- Support concurrency with options
- MQTT
- Transport
- Cleanup send/receive semantics - is it concurrent?
- Bidirectional streaming
- Client
- Server
- Code generation for streaming interface
- Examples
- TLS Support
- Registry
- Broker
- Transport
- Selector
- Select Filters
- Resiliency
- Add timeout and retry logic based on adrian cockcroft's ideas here
- Debug
- Health
- Stats
Overview
- Define the interfaces for every package
- Provide documentation for go-platform's usage
- Implement trace and monitoring first
- Provide easy initialisation and wrapping for go-micro client/server
- In memory catching using registry watch
- Heartbeating the registry
- label based routing
- Weighted loadbalancing
- Circuit breakers
- Rate limiting
- Google GSLB style semantics
- Implement interface
- Memcache implementation
- Redis contribution
- In memory implement
- Implement interface
- Pub/Sub based tracing
- Timing endpoints for trace service
- Implement interface
- Custom healthcheck types
- Add stats/status publications
- Monitor the health of services
- Implement interface
- Implement interface
- Implement interface
- Implement interface (sparse)
- Implement interface
- Provide more example implementations
- Improve auto loading of plugins
- Registry
- Transport
- Broker
TODO:
- implement IAM policies
Create simple OSS dashboards for each platform service
Version 1. (Asim's definition of version 1)
- Micro on Kubernetes
- Micro Docker Compose
- Platform Docker Compose
- Logistics/On-Demand Example
- Micro on Nomad