Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How To Become a Match Maker For Your Backend by Deden Fathurahman (Setipe)

146 views

Published on

Deden Fathurahman is a VP Engineering at Setipe, an online matchmaking service for singles to have a private, safer and more effective place to meet other compatible singles. They curate and introduce matches for you using demographic, preference, psycho-graphic and social-economic factors.

This slide was shared on TIA Dev Talk: "Road to Developer Stage – Tech in Asia Jakarta 2015" on 15 October 2015.

TIA DevTalk is a monthly event of TIA Dev Community-- a community for all developers and/ or engineer to create collaborative things that advanced the tech community and ecosystem.

Get updates about our dev events delivered straight to your inbox by signing up here: http://bit.ly/tia-dev !. Be the first to know when new information is available!

Published in: Technology
  • Be the first to comment

How To Become a Match Maker For Your Backend by Deden Fathurahman (Setipe)

  1. 1. how to become a match maker for your backend
  2. 2. About • geekdad() • current("VP Engineering SETIPE”) • before(['Erafone', 'Wayang Force', ‘Qeon’]) elsewhere -> @dedenf github.com/dedenf
  3. 3. try our app ANDROID soon!
  4. 4. SETIPE
  5. 5. • A Match Maker • currently 450k registered users • Mashed up between (psychology + technology) = #love • 31 married couple who met at SETIPE • yang jadian?
  6. 6. + Technology = Awesomeness
  7. 7. our humble stack
  8. 8. Let’s break it down inside out
  9. 9. Load balancer
  10. 10. Nginx to the rescue
  11. 11. act as load balancer, http proxy there are other solution, like HAProxy, node-http-proxy …
  12. 12. NodeJS Kue AppStack ExpressJS ejs Agenda MongoJS
  13. 13. Monolithic App VS Microservices Architecture
  14. 14. Monolithic App single codebase call every library on the run single bug could ruin all your system hard to scale one request could involved all the system Easy to manage but
  15. 15. Microservices Architecture separate codebase if there’s a bug in a service only that service affected minimal resource support for event driven arch Hard to manage but sometimes…
  16. 16. Distributed system is hot right now
  17. 17. pub-sub
  18. 18. we use it a lot queue messaging session store introducing redis and we make cluster of it
  19. 19. Matchmaking Engine we use redis to holds our job queue to matchmaking people and worker will took care of it
  20. 20. consistency
  21. 21. Eventual consistency is a consistency model used in distributed computing to achieve high availability that informally guarantees that, if no new updates are made to a given data item, eventually all accesses to that item will return the last updated value. https://en.wikipedia.org/wiki/Eventual_consistency
  22. 22. 99% Consistency is good enough
  23. 23. know your tools - load balancing (haproxy, nginx, …) - webserver (nginx, …) - always use compression - Static assets (CDN)
  24. 24. Monitoring
  25. 25. you can’t optimize what you don’t measure
  26. 26. things to watch ‣is the app running? ‣is the app overloaded? ‣how many errors do we have ‣how your cluster are doing ‣app performance ‣database(s) (this is down to your app perf)
  27. 27. we’re hiring deden@setipe.com
  28. 28. Thank you

×