Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce announcer initialization module api #38

Closed
olix0r opened this issue Jan 28, 2016 · 1 comment
Closed

Introduce announcer initialization module api #38

olix0r opened this issue Jan 28, 2016 · 1 comment

Comments

@olix0r
Copy link
Member

olix0r commented Jan 28, 2016

In the same way that we load protocol and namer support at runtime, we should introduce a pluggable Announcer api. The Linkerd main should load a list of io.bouyant.linkerd.AnnouncerInitializer modules. Something to the effect of:

trait AnnouncerInitializer {
  def kind: String
  def announce(server: ListeningServer): Closable
}

Then, the configuration format should be extended to admit a list of announcers on servers. Supporting a list of announcers is critical to "multiple registration" schemes, which become very important during migrations (i.e. between zk clusters, or from one sd backend to another, etc).

Furthermore, in this announcing regime, we are not supporting announcing of a service's port, but of the router's server (which will forward to the server's port). This primarily benefits linker-to-linker configurations like:

For example

routers:
- protocol: http
  label: upstream
  baseDtab: /http => /$/inet/127.1/8881
  servers:
  - port: 8080
    ip: 0.0.0.0
    - announcers:
      - kind: io.l5d.serverset
        path: /services/userservice
        zkAddrs:
        - host: zkcluster.buoyant.io
      - kind: io.l5d.serverset
        path: /services/userservice
        zkAddrs:
        - host: otherzkcluster.buoyant.io

- protocol: http
  label: downstream
  baseDtab: ...
  servers:
  - port: 4140
@olix0r
Copy link
Member Author

olix0r commented Sep 12, 2016

This is done! #368

@olix0r olix0r closed this as completed Sep 12, 2016
Tim-Brooks pushed a commit to Tim-Brooks/linkerd that referenced this issue Dec 20, 2018
* Add inject flag for skipping outbound ports

* Fix usage of proxy-init ignore flags (closes linkerd#541)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants