GithubHelp home page GithubHelp logo

doitintl / banias Goto Github PK

View Code? Open in Web Editor NEW
43.0 5.0 16.0 426 KB

Opinionated serverless event analytics pipeline

Home Page: https://banias.io

License: MIT License

Go 52.54% Shell 3.33% Java 31.80% Makefile 10.27% Dockerfile 2.06%
analytics bigdata golang dataflow apache-beam

banias's Introduction

Banias

License GitHub stars Build Status

Blog Post

Banias (Arabic: بانياس الحولة‎; Hebrew: בניאס‬) is the Arabic and modern Hebrew name of an ancient site developed around a river once associated with the Greek god Pan.

So, like the flow of the Banias, events are flowing into our system. So we decided to build a reference architecture and actual implementation of event analytics pipeline. You can take the code as it is and use it or use it a design reference.

Banias Architecture:

  • API receiving the events data from the producers (e.g. web apps, mobile app or backend servers)
  • The events are sent to Google Pub/Sub topic
  • Apache Beam/Google Cloud Dataflow streams the events into BigQuery with or without mutations or agregations

Installation

banias's People

Contributors

avivl avatar spark2ignite avatar yorambenyaacov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

banias's Issues

Ingress

banias/frontend/deploy/frontend-service.yaml has to be changed to Ingress to support global ip and federation

From DavidB

went over it, looks ok but I miss comments so don't really understand what many parts of code do without looking at the import packages first. For example, g.Add that uses oklog which i don't know what it is and so on. So from the main func code i could hardly understand what it does, especially with things like 'logger.Info("exit", zap.Error(g.Run()))'. I think g.Run() should be more explicit because it's your main loop and my eye automatically skips log lines. Also pls highlight somewhere what the endpoints are (/track and /metrics), unless you have a dedicated client in which case it's not that important.
collector looks fine, needs more comments though. Things like 'if counter != 7' need to be more clear
Also I'd do some wrapper around tag, for example instead of tag.NewKey("banias/keys/code") it would be mytag.Key("code") and instead of "banias/measures/request_latency" it would be mytag.Measure("request_latency") because 'banias' is constant and keys/measures/etc are categories

Invalid argument in backend/Makefile

There are a few occurrences of --GCSSchemasBucketName=(SCHEMAS_BUCKET) in the Makefile, which cause errors. I presume it is meant to read --GCSSchemasBucketName=$(SCHEMAS_BUCKET).

Is the current Makefile working for you with this error?

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.