Git Product home page Git Product logo

data-replication-example's People

Contributors

waffle-iron avatar zcox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

data-replication-example's Issues

Use custom key/value serdes for RocksDB

#12 was implemented using the same kafka-avro serdes in RocksDB that Bottled Water used to write to the Kafka topics. It works, but is really involved due to interaction with Schema Registry and use of KafkaAvroSerializer/KafkaAvroDecoder.

It would probably be simpler to define our own Avro schemas for the keys/values in RocksDB. The Kafka consumer would use the GenericRecord from the BW Kafka topic to create the serialized key/value for RocksDB using our own schemas. Then the User lookup would serialize the userId to the key using our schema, and then deserialize the user from RocksDB lookup using our schema.

Delete tweet

Needed to support the onDeletionNotice event from Twitter Streaming API.

Create/update user API

Support both endpoints:

  • POST /api/users creates new user with generated userId
  • PUT /api/users/:userId creates new user with specific userId

The POST version would normally be used by human users to create a new user account.

The PUT version will be useful when we hook into Twitter Streaming API and need to ensure there is a user created with specific userId. Note that the PUT version will update an existing user if one already exists with specific userId.

Load generator

Use something (custom or Gatling) to continuously make HTTP GET requests against the API, to generate lots of metrics data.

Get users and tweets from Twitter Streaming API

We can get a lot of data from the Twitter Streaming API to make things more interesting. For each tweet from Streaming API, send the user to PUT /api/users/:userId to ensure it exists, and then send the tweet to PUT /api/tweets/:tweetId.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.