airbnb.io - Synapse A transparent service discovery framework for connecting an SOA1,830









Search Preview

Airbnb Engineering & Data Science

airbnb.io
Airbnb.io Open SourceEventsBlogGithubCareersAirbnb.io SynapseA transparent service discovery framework for connecting an SOA1,830By Igor SerebryanySynapse
.io > airbnb.io

SEO audit: Content analysis

Language Error! No language localisation is found.
Title Airbnb Engineering & Data Science
Text / HTML ratio 42 %
Frame Excellent! The website does not use iFrame solutions.
Flash Excellent! The website does not have any flash contents.
Keywords cloud Synapse discovery DB port synapse application service services proxy host file database AWS watchers number Airbnb CareersDesign API case default_servers
Keywords consistency
Keyword Content Title Description Headings
Synapse 9
discovery 7
DB 7
port 7
synapse 6
application 6
Headings
H1 H2 H3 H4 H5 H6
1 0 0 3 0 0
Images We found 1 images on this web page.

SEO Keywords (Single)

Keyword Occurrence Density
Synapse 9 0.45 %
discovery 7 0.35 %
DB 7 0.35 %
port 7 0.35 %
synapse 6 0.30 %
application 6 0.30 %
service 6 0.30 %
services 5 0.25 %
proxy 5 0.25 %
host 4 0.20 %
file 4 0.20 %
database 4 0.20 %
AWS 4 0.20 %
watchers 4 0.20 %
number 3 0.15 %
Airbnb 3 0.15 %
CareersDesign 3 0.15 %
API 3 0.15 %
case 3 0.15 %
default_servers 3 0.15 %

SEO Keywords (Two Word)

Keyword Occurrence Density
your application 5 0.25 %
the DB 4 0.20 %
to the 4 0.20 %
in the 3 0.15 %
service discovery 3 0.15 %
using the 3 0.15 %
AWS API 3 0.15 %
faulttolerant way 2 0.10 %
to converge 2 0.10 %
in a 2 0.10 %
internal services 2 0.10 %
the AWS 2 0.10 %
from the 2 0.10 %
application talks 2 0.10 %
local port 2 0.10 %
the cloud 2 0.10 %
port 3219 2 0.10 %
the proxy 2 0.10 %
port 5432 2 0.10 %
like this 2 0.10 %

SEO Keywords (Three Word)

Keyword Occurrence Density Possible Spam
using the AWS 2 0.10 % No
Let's suppose your 2 0.10 % No
the AWS API 2 0.10 % No
your application talks 2 0.10 % No
in the cloud 2 0.10 % No
a proxy from 2 0.10 % No
for service discovery 2 0.10 % No
mydbexamplecom port 5432 2 0.10 % No
host mydbexamplecom port 2 0.10 % No
database mydb host 2 0.10 % No
application talks to 2 0.10 % No
production database mydb 2 0.10 % No
a number of 2 0.10 % No
© Airbnb Inc 2 0.10 % No
has the DB 1 0.05 % No
the DB host 1 0.05 % No
DB host and 1 0.05 % No
the original dies 1 0.05 % No
case the original 1 0.05 % No
in case the 1 0.05 % No

SEO Keywords (Four Word)

Keyword Occurrence Density Possible Spam
host mydbexamplecom port 5432 2 0.10 % No
using the AWS API 2 0.10 % No
your application talks to 2 0.10 % No
production database mydb host 2 0.10 % No
Airbnbio Open Source Events 1 0.05 % No
fail over to a 1 0.05 % No
over to a different 1 0.05 % No
to a different database 1 0.05 % No
a different database in 1 0.05 % No
different database in case 1 0.05 % No
in case the original 1 0.05 % No
database in case the 1 0.05 % No
able to fail over 1 0.05 % No
case the original dies 1 0.05 % No
the original dies Let's 1 0.05 % No
original dies Let's suppose 1 0.05 % No
dies Let's suppose your 1 0.05 % No
to fail over to 1 0.05 % No
to be able to 1 0.05 % No
be able to fail 1 0.05 % No

Internal links in - airbnb.io

Open Source
Airbnb Engineering & Data Science
Events
Airbnb Engineering & Data Science
Airflow Use Apache Airflow (incubating) to author workflows as directed acyclic graphs (DAGs) of tasks8,613
Airbnb Engineering & Data Science
Aerosolve A machine learning package built for humans4,385
Airbnb Engineering & Data Science
BinaryAlert Serverless real-time and retroactive malware detection705
Airbnb Engineering & Data Science
AirMapView A view abstraction to provide a map user interface with various underlying map providers1,583
Airbnb Engineering & Data Science
Airpal Web UI for PrestoDB2,345
Airbnb Engineering & Data Science
DeepLinkDispatch Easy declaration and routing of your deep links2,990
Airbnb Engineering & Data Science
Enzyme JavaScript Testing utilities for React14,372
Airbnb Engineering & Data Science
Hammerspace Hash-like interface to persistent, concurrent, off-heap storage302
Airbnb Engineering & Data Science
Hypernova A service for server-side rendering your JavaScript views4,266
Airbnb Engineering & Data Science
Epoxy An Android library for building complex screens in a RecyclerView4,301
Airbnb Engineering & Data Science
Interferon Signaling you about infrastructure or application issues178
Airbnb Engineering & Data Science
JavaScript Style Guide A mostly reasonable approach to JavaScript73,101
Airbnb Engineering & Data Science
The Knowledge Repo A next-generation curated knowledge sharing platform for data scientists and other technical professions2,992
Airbnb Engineering & Data Science
Polyglot Give your JavaScript the ability to speak many languages2,734
Airbnb Engineering & Data Science
Nerve A service registration daemon that performs health checks; companion to airbnb/synapse837
Airbnb Engineering & Data Science
mocha-wrap Fluent pluggable interface for easily wrapping `describe` and `it` blocks in Mocha tests39
Airbnb Engineering & Data Science
Rheostat Rheostat is a www, mobile, and accessible slider component built with React1,248
Airbnb Engineering & Data Science
ReAir A collection of easy-to-use tools for replicating tables and partitions between Hive data warehouses206
Airbnb Engineering & Data Science
react-dates An accessible, easily internationalizable, mobile-friendly datepicker library for the web7,757
Airbnb Engineering & Data Science
Ruby Style Guide Airbnb's Ruby Style Guide2,366
Airbnb Engineering & Data Science
react-with-styles Use CSS-in-JavaScript with themes for React without being tightly coupled to one implementation1,242
Airbnb Engineering & Data Science
Superset Apache Superset (incubating) is a modern, enterprise-ready business intelligence web application19,842
Airbnb Engineering & Data Science
RxGroups Easily group RxJava Observables together and tie them to your Android Activity lifecycle668
Airbnb Engineering & Data Science
StreamAlert A serverless framework for real-time data analysis and alerting1,406
Airbnb Engineering & Data Science
Stemcell Airbnb's EC2 instance creation and bootstrapping tool157
Airbnb Engineering & Data Science
Synapse A transparent service discovery framework for connecting an SOA1,830
Airbnb Engineering & Data Science

Airbnb.io Spined HTML


Airbnb Engineering & Data Science Airbnb.io Open SourceEventsBlogGithubCareersAirbnb.io SynapseA transparent service discovery framework for connecting an SOA1,830By Igor SerebryanySynapse is Airbnb's new system for service discovery. Synapse solves the problem of streamlined fail-over in the cloud, where failover via network re-configuration is impossible. The end result is the worthiness to connect internal services together in a scalable, fault-tolerant way. Motivation Synapse emerged from the need to maintain high-availability applications in the cloud. Traditional high-availability techniques, which involve using a CRM like pacemaker, do not work in environments where the end-user has no tenancy over the networking. In an environment like Amazon's EC2, all of the misogynist workarounds are suboptimal: Round-robin DNS: Slow to converge, and doesn't work when applications enshroud DNS lookups (which is frequent) Elastic IPs: slow to converge, limited in number, public-facing-only, which makes them less useful for internal services ELB: Again, public-facing only, and only useful for HTTP One solution to this problem is a discovery service, like Apache Zookeeper. However, Zookeeper and similar services have their own problems: Service discovery is embedded in all of your apps; often, integration is not simple The discovery layer itself is subject to failure Requires spare servers/instances Synapse solves these difficulties in a simple and fault-tolerant way. How Synapse Works Synapse runs on your using servers; here at Airbnb, we just run it on every box we deploy. The heart of synapse is unquestionably HAProxy, a stable and proven routing component. For every external service that your using talks to, we assign a synapse local port on localhost. Synapse creates a proxy from the local port to the service, and you reconfigure your using to talk to the proxy. Synapse comes with a number of watchers, which are responsible for service discovery. The synapse watchers take superintendency of re-configuring the proxy so that it unchangingly points at misogynist servers. We've included a number of default watchers, including ones that query zookeeper and ones using the AWS API. It is easy to write your own watchers for your use case, and we encourage submitting them when to the project. Example Migration Let's suppose your rails using depends on a Postgres database instance. The database.yaml file has the DB host and port hardcoded: production: database: mydb host: mydb.example.com port: 5432 You would like to be worldly-wise to goof over to a variegated database in specimen the original dies. Let's suppose your instance is running in AWS and you're using the tag 'proddb' set to 'true' to indicate the prod DB. You set up synapse to proxy the DB connection on localhost:3219 in the synapse.conf.yaml file. Add a hash under services that looks like this: --- services: proddb: default_servers: - name: "default-db" host: "mydb.example.com" port: 5432 discovery: method: "awstag" tag_name: "proddb" tag_value: "true" haproxy: port: 3219 server_options: "check inter 2000 rise 3 fall 2" frontend: mode tcp backend: mode tcp And then transpiration your database.yaml file to squint like this: production: database: mydb host: localhost port: 3219 Start up synapse. It will configure HAProxy with a proxy from localhost:3219 to your DB. It will struggle to find the DB using the AWS API; if that does not work, it will default to the DB given in default_servers. In the worst case, if AWS API is lanugo and you need to transpiration which DB your using talks to, simply edit the synapse.conf.json file, update the default_servers and restart synapse. HAProxy will be transparently reloaded, and your using will alimony running without a hiccup.LinksGithub© Airbnb, Inc.© Airbnb, Inc.CareersDesignCareersDesignCareersDesign