SlideShare a Scribd company logo
1 of 12
<SOCIAL NETWORK ARCHITECTURE>
@DEV ZONE
Overview architecture
Web Apps
Web Service APIs
Mobile Apps
4. Front-end
SSO
User
ranking
1. Core User
User Data Storage
Real-time
Notification
News Feed
2. User Activity System
User Activity Storage
3. Others
Real-time Chat
Search System Suggestion System
3. Big Data System
Big Data Storage
…
External Apps
Service Data
User
Administrator
Core User
1. Core User
• SSO (Single sign on system)
• User ranking
• User administrator system
• User data storage
• User info
• Action Log
• Relation: follower, followee, family
SSO
User
Ranking
User Data Storage
Service
Data
User
Administrator
1. Core User: SSO System
• Registry service with SSO system
• Service ID
• Service Name
• Service Description
• …
• Private Key
1. Core User: SSO System
• Sign-up form: https://sso.adayroi.net/sign-up
• Forget-password form: https://sso.adayroi.net/forget-password
• User info & update user info form: https://sso.adayroi.net/user?[id]
• Validate user:
• Generate User validation OTP: https://sso.adayroi.net/?uid
• Return JSONString: {uid, otp}
• Validate user: https://sso.adayroi.net/?uid&otp
1. Core User: SSO System
• Login Form:
https://sso.adayroi.net/login?sid=adr&surl=http://adayroi.net&durl=http:/
/adayroi.net/users
• $sid: Service ID, $surl: Source URL, $durl: Destination URL
• Login redirection: [durl]?status=1&ui=Jw8HVYqmI4bJmAWQ&actoken=4bJmAWQ
• $status: 1 - login successfully, 0 - login failed
• $ui: user info: {user_id, avatar_path, username, login_time, IP} , encrypted by DES (Triple
DES), RSA
• $actoken: access token, with expired time
• Check login: https://sso.adayroi.net/login?sid=adr&surl=http://adayroi.net
• Logout: https://sso.adayroi.net/logout?sid=adr&surl=http://adayroi.net
1. Core User: SSO System
• Login API: -XPOST https://sso.adayroi.net/login
• Params: {sid, username, password}
• Return: JSONString as Login redirection
• Get user Info API: https://sso.adayroi.net/user-info?[id]
• Require Login
• Return JSONString: {user_id, username, avatar_path, login_time,
last_login_time, last_login_IP,...}
• User action API: https://sso.adayroi.net/user-action?type&data
• Require Login
• Return JSONString: {status}
1. Core User: User administrator system
• Summary
• Violation (avatar, info...)
• etc…
1. CoreUser: User Data Storage
• User Info: MySQL
• User log: MongoDB
• {action, user_id , target_id, target_type, data:{}, created_at}
• User relation: MongoDB
family: {_id: 1, uids: [2, 3]}
followee: { _id: 1, uids: [2, 3] }, followee: { _id: 2, uids: [1, 3] }
follower: { _id: “1”, uids: [2,3,4,...], count: 2000, next_page: 2 },
follower: { _id: “1_p2”, uids: [2023,2024,2025,...], count: 10000 }
group_serviceID: {_id: 1, gids: [4, 5]}
• Session: Redis
• {[user_infos],[relations],…}
1. Core User: Technology Problems & Solutions
• Load balancing
 Gearman: ZingMe News Feed:
 80M Users
 3M Active users/day
 15M actions/day
• RESTful
 PHP, Laravel 5 (Java, Spring RESTful)
1. Core User: Architect
Web Server
<Jetty server>
RESTful APIs
<Spring RESTful>
Web Forms
Request
Control
Gearman
Server
WorkersControllers
Caching
<Redis>
Database
<MySQL,
MongoDB>

More Related Content

What's hot

elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리Junyi Song
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL AdministrationEDB
 
PostgreSQL, performance for queries with grouping
PostgreSQL, performance for queries with groupingPostgreSQL, performance for queries with grouping
PostgreSQL, performance for queries with groupingAlexey Bashtanov
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresqlbotsplash.com
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Web Services Korea
 
Hive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmarkHive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmarkDongwon Kim
 
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기Amazon Web Services Korea
 
Introduction to Presto at Treasure Data
Introduction to Presto at Treasure DataIntroduction to Presto at Treasure Data
Introduction to Presto at Treasure DataTaro L. Saito
 
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)Noriyoshi Shinoda
 
MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation FrameworkCaserta
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQLJim Mlodgenski
 
Working with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBWorking with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBScaleGrid.io
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)Uwe Printz
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBMongoDB
 
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...Jalpesh Vadgama
 
Json in Postgres - the Roadmap
 Json in Postgres - the Roadmap Json in Postgres - the Roadmap
Json in Postgres - the RoadmapEDB
 
Building a Directed Graph with MongoDB
Building a Directed Graph with MongoDBBuilding a Directed Graph with MongoDB
Building a Directed Graph with MongoDBTony Tam
 
Security Best Practices for your Postgres Deployment
Security Best Practices for your Postgres DeploymentSecurity Best Practices for your Postgres Deployment
Security Best Practices for your Postgres DeploymentPGConf APAC
 
MySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxMySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxNeoClova
 

What's hot (20)

elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL Administration
 
PostgreSQL, performance for queries with grouping
PostgreSQL, performance for queries with groupingPostgreSQL, performance for queries with grouping
PostgreSQL, performance for queries with grouping
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
 
Hive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmarkHive, Presto, and Spark on TPC-DS benchmark
Hive, Presto, and Spark on TPC-DS benchmark
 
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
 
Introduction to Presto at Treasure Data
Introduction to Presto at Treasure DataIntroduction to Presto at Treasure Data
Introduction to Presto at Treasure Data
 
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
 
MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation Framework
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
 
Working with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBWorking with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDB
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
 
Json in Postgres - the Roadmap
 Json in Postgres - the Roadmap Json in Postgres - the Roadmap
Json in Postgres - the Roadmap
 
Building a Directed Graph with MongoDB
Building a Directed Graph with MongoDBBuilding a Directed Graph with MongoDB
Building a Directed Graph with MongoDB
 
Security Best Practices for your Postgres Deployment
Security Best Practices for your Postgres DeploymentSecurity Best Practices for your Postgres Deployment
Security Best Practices for your Postgres Deployment
 
MySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxMySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptx
 

Viewers also liked

Social network architecture - Part 2. News feed
Social network architecture - Part 2. News feedSocial network architecture - Part 2. News feed
Social network architecture - Part 2. News feedPhu Luong Trong
 
Citihub Open Source and Cloud approach to Social Media Listening
Citihub Open Source and Cloud approach to Social Media ListeningCitihub Open Source and Cloud approach to Social Media Listening
Citihub Open Source and Cloud approach to Social Media ListeningChris Allison
 
Facebook architecture
Facebook architectureFacebook architecture
Facebook architecturemysqlops
 
Social and-psychological-impact-of-social-networking-sites
Social and-psychological-impact-of-social-networking-sitesSocial and-psychological-impact-of-social-networking-sites
Social and-psychological-impact-of-social-networking-sitesSumit Malhotra
 
Social network architecture - Part 3. Big data - Machine learning
Social network architecture - Part 3. Big data - Machine learningSocial network architecture - Part 3. Big data - Machine learning
Social network architecture - Part 3. Big data - Machine learningPhu Luong Trong
 
Building Scalable and Personalized News Feed
Building Scalable and Personalized News FeedBuilding Scalable and Personalized News Feed
Building Scalable and Personalized News FeedEyal Ronel
 
OK, I Need an IoT Service. Now What??
OK, I Need an IoT Service. Now What??OK, I Need an IoT Service. Now What??
OK, I Need an IoT Service. Now What??Guy Vinograd ☁
 
Social Media, Cloud Computing and architecture
Social Media, Cloud Computing and architectureSocial Media, Cloud Computing and architecture
Social Media, Cloud Computing and architectureRick Mans
 
Lessons from Highly Scalable Architectures at Social Networking Sites
Lessons from Highly Scalable Architectures at Social Networking SitesLessons from Highly Scalable Architectures at Social Networking Sites
Lessons from Highly Scalable Architectures at Social Networking SitesPatrick Senti
 
Researching Social Media – Big Data and Social Media Analysis
Researching Social Media – Big Data and Social Media AnalysisResearching Social Media – Big Data and Social Media Analysis
Researching Social Media – Big Data and Social Media AnalysisFarida Vis
 
What's behind facebook
What's behind facebookWhat's behind facebook
What's behind facebookAjen 陳
 
Social Networking: Past, Present & Future
Social Networking: Past, Present & FutureSocial Networking: Past, Present & Future
Social Networking: Past, Present & FutureMark Suster
 
Facebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenFacebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenHARMAN Services
 
Social Networking Project (website) full documentation
Social Networking Project (website) full documentation Social Networking Project (website) full documentation
Social Networking Project (website) full documentation Tenzin Tendar
 
The impact of social media
The impact of social mediaThe impact of social media
The impact of social mediaememdesign
 
Role and impact of media on society final ppt............
Role and impact of media on society final ppt............Role and impact of media on society final ppt............
Role and impact of media on society final ppt............Aaryendr
 
Impact of Social Networking Sites on Secondary School Children
Impact of Social Networking Sites on Secondary School ChildrenImpact of Social Networking Sites on Secondary School Children
Impact of Social Networking Sites on Secondary School ChildrenReeba Sara Koshy
 
Social Networking Presentation
Social Networking PresentationSocial Networking Presentation
Social Networking PresentationAnusorn Kansap
 

Viewers also liked (20)

Social network architecture - Part 2. News feed
Social network architecture - Part 2. News feedSocial network architecture - Part 2. News feed
Social network architecture - Part 2. News feed
 
Citihub Open Source and Cloud approach to Social Media Listening
Citihub Open Source and Cloud approach to Social Media ListeningCitihub Open Source and Cloud approach to Social Media Listening
Citihub Open Source and Cloud approach to Social Media Listening
 
Facebook architecture
Facebook architectureFacebook architecture
Facebook architecture
 
Social and-psychological-impact-of-social-networking-sites
Social and-psychological-impact-of-social-networking-sitesSocial and-psychological-impact-of-social-networking-sites
Social and-psychological-impact-of-social-networking-sites
 
Social network architecture - Part 3. Big data - Machine learning
Social network architecture - Part 3. Big data - Machine learningSocial network architecture - Part 3. Big data - Machine learning
Social network architecture - Part 3. Big data - Machine learning
 
Building Scalable and Personalized News Feed
Building Scalable and Personalized News FeedBuilding Scalable and Personalized News Feed
Building Scalable and Personalized News Feed
 
OK, I Need an IoT Service. Now What??
OK, I Need an IoT Service. Now What??OK, I Need an IoT Service. Now What??
OK, I Need an IoT Service. Now What??
 
Social Media, Cloud Computing and architecture
Social Media, Cloud Computing and architectureSocial Media, Cloud Computing and architecture
Social Media, Cloud Computing and architecture
 
Lessons from Highly Scalable Architectures at Social Networking Sites
Lessons from Highly Scalable Architectures at Social Networking SitesLessons from Highly Scalable Architectures at Social Networking Sites
Lessons from Highly Scalable Architectures at Social Networking Sites
 
Researching Social Media – Big Data and Social Media Analysis
Researching Social Media – Big Data and Social Media AnalysisResearching Social Media – Big Data and Social Media Analysis
Researching Social Media – Big Data and Social Media Analysis
 
What's behind facebook
What's behind facebookWhat's behind facebook
What's behind facebook
 
Social networking
Social networkingSocial networking
Social networking
 
Social Networking: Past, Present & Future
Social Networking: Past, Present & FutureSocial Networking: Past, Present & Future
Social Networking: Past, Present & Future
 
Facebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenFacebook Architecture - Breaking it Open
Facebook Architecture - Breaking it Open
 
Social Networking Project (website) full documentation
Social Networking Project (website) full documentation Social Networking Project (website) full documentation
Social Networking Project (website) full documentation
 
The impact of social media
The impact of social mediaThe impact of social media
The impact of social media
 
Role and impact of media on society final ppt............
Role and impact of media on society final ppt............Role and impact of media on society final ppt............
Role and impact of media on society final ppt............
 
Impact of Social Networking Sites on Secondary School Children
Impact of Social Networking Sites on Secondary School ChildrenImpact of Social Networking Sites on Secondary School Children
Impact of Social Networking Sites on Secondary School Children
 
Social Networking Presentation
Social Networking PresentationSocial Networking Presentation
Social Networking Presentation
 
Presentation social network
Presentation social networkPresentation social network
Presentation social network
 

Similar to Social network architecture - Part 1. Core user

Social Architecture of SharePoint 2013 for Developers
Social Architecture of SharePoint 2013 for DevelopersSocial Architecture of SharePoint 2013 for Developers
Social Architecture of SharePoint 2013 for DevelopersPaul J. Swider
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB
 
OpenSocial and Mixi platform
OpenSocial and Mixi platformOpenSocial and Mixi platform
OpenSocial and Mixi platformPham Thinh
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...SPC Adriatics
 
Integrating with the ORCID API
Integrating with the ORCID APIIntegrating with the ORCID API
Integrating with the ORCID APINobuko Miyairi
 
Users, Profiles, and MySites: Managing a Changing SharePoint User population
Users, Profiles, and MySites: Managing a Changing SharePoint User populationUsers, Profiles, and MySites: Managing a Changing SharePoint User population
Users, Profiles, and MySites: Managing a Changing SharePoint User populationPaul Stork (Microsoft MVP)
 
Mobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsMobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsPieter Ennes
 
Asp.net identity dot netconf
Asp.net identity dot netconfAsp.net identity dot netconf
Asp.net identity dot netconfrustd
 
WSO2Con USA 2017: Building a Secure Enterprise
WSO2Con USA 2017: Building a Secure EnterpriseWSO2Con USA 2017: Building a Secure Enterprise
WSO2Con USA 2017: Building a Secure EnterpriseWSO2
 
Presentation on Personal Identity Management
Presentation on Personal Identity ManagementPresentation on Personal Identity Management
Presentation on Personal Identity ManagementAkhil Upadhyay
 
KoprowskiT_SQLRelayBirmingham_SQLSecurityInTheClouds
KoprowskiT_SQLRelayBirmingham_SQLSecurityInTheCloudsKoprowskiT_SQLRelayBirmingham_SQLSecurityInTheClouds
KoprowskiT_SQLRelayBirmingham_SQLSecurityInTheCloudsTobias Koprowski
 
KoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheClouds
KoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheCloudsKoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheClouds
KoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheCloudsTobias Koprowski
 
08 asp.net session11
08 asp.net session1108 asp.net session11
08 asp.net session11Vivek chan
 
Linkedin & OAuth
Linkedin & OAuthLinkedin & OAuth
Linkedin & OAuthUmang Goyal
 
Security asp.net application
Security asp.net applicationSecurity asp.net application
Security asp.net applicationZAIYAUL HAQUE
 
SCIM presentation from CIS 2012
SCIM presentation from CIS 2012SCIM presentation from CIS 2012
SCIM presentation from CIS 2012Twobo Technologies
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...DataArt
 

Similar to Social network architecture - Part 1. Core user (20)

Social Architecture of SharePoint 2013 for Developers
Social Architecture of SharePoint 2013 for DevelopersSocial Architecture of SharePoint 2013 for Developers
Social Architecture of SharePoint 2013 for Developers
 
MongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day OneMongoDB World 2019: Securing Application Data from Day One
MongoDB World 2019: Securing Application Data from Day One
 
OpenSocial and Mixi platform
OpenSocial and Mixi platformOpenSocial and Mixi platform
OpenSocial and Mixi platform
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
 
Integrating with the ORCID API
Integrating with the ORCID APIIntegrating with the ORCID API
Integrating with the ORCID API
 
SFDC User Setup
SFDC User SetupSFDC User Setup
SFDC User Setup
 
ORCID API
ORCID APIORCID API
ORCID API
 
Users, Profiles, and MySites: Managing a Changing SharePoint User population
Users, Profiles, and MySites: Managing a Changing SharePoint User populationUsers, Profiles, and MySites: Managing a Changing SharePoint User population
Users, Profiles, and MySites: Managing a Changing SharePoint User population
 
Mobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsMobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patterns
 
Asp.net identity dot netconf
Asp.net identity dot netconfAsp.net identity dot netconf
Asp.net identity dot netconf
 
WSO2Con USA 2017: Building a Secure Enterprise
WSO2Con USA 2017: Building a Secure EnterpriseWSO2Con USA 2017: Building a Secure Enterprise
WSO2Con USA 2017: Building a Secure Enterprise
 
Presentation on Personal Identity Management
Presentation on Personal Identity ManagementPresentation on Personal Identity Management
Presentation on Personal Identity Management
 
KoprowskiT_SQLRelayBirmingham_SQLSecurityInTheClouds
KoprowskiT_SQLRelayBirmingham_SQLSecurityInTheCloudsKoprowskiT_SQLRelayBirmingham_SQLSecurityInTheClouds
KoprowskiT_SQLRelayBirmingham_SQLSecurityInTheClouds
 
KoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheClouds
KoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheCloudsKoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheClouds
KoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheClouds
 
Presentation
PresentationPresentation
Presentation
 
08 asp.net session11
08 asp.net session1108 asp.net session11
08 asp.net session11
 
Linkedin & OAuth
Linkedin & OAuthLinkedin & OAuth
Linkedin & OAuth
 
Security asp.net application
Security asp.net applicationSecurity asp.net application
Security asp.net application
 
SCIM presentation from CIS 2012
SCIM presentation from CIS 2012SCIM presentation from CIS 2012
SCIM presentation from CIS 2012
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
 

Recently uploaded

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Social network architecture - Part 1. Core user

  • 2. Overview architecture Web Apps Web Service APIs Mobile Apps 4. Front-end SSO User ranking 1. Core User User Data Storage Real-time Notification News Feed 2. User Activity System User Activity Storage 3. Others Real-time Chat Search System Suggestion System 3. Big Data System Big Data Storage … External Apps Service Data User Administrator
  • 4. 1. Core User • SSO (Single sign on system) • User ranking • User administrator system • User data storage • User info • Action Log • Relation: follower, followee, family SSO User Ranking User Data Storage Service Data User Administrator
  • 5. 1. Core User: SSO System • Registry service with SSO system • Service ID • Service Name • Service Description • … • Private Key
  • 6. 1. Core User: SSO System • Sign-up form: https://sso.adayroi.net/sign-up • Forget-password form: https://sso.adayroi.net/forget-password • User info & update user info form: https://sso.adayroi.net/user?[id] • Validate user: • Generate User validation OTP: https://sso.adayroi.net/?uid • Return JSONString: {uid, otp} • Validate user: https://sso.adayroi.net/?uid&otp
  • 7. 1. Core User: SSO System • Login Form: https://sso.adayroi.net/login?sid=adr&surl=http://adayroi.net&durl=http:/ /adayroi.net/users • $sid: Service ID, $surl: Source URL, $durl: Destination URL • Login redirection: [durl]?status=1&ui=Jw8HVYqmI4bJmAWQ&actoken=4bJmAWQ • $status: 1 - login successfully, 0 - login failed • $ui: user info: {user_id, avatar_path, username, login_time, IP} , encrypted by DES (Triple DES), RSA • $actoken: access token, with expired time • Check login: https://sso.adayroi.net/login?sid=adr&surl=http://adayroi.net • Logout: https://sso.adayroi.net/logout?sid=adr&surl=http://adayroi.net
  • 8. 1. Core User: SSO System • Login API: -XPOST https://sso.adayroi.net/login • Params: {sid, username, password} • Return: JSONString as Login redirection • Get user Info API: https://sso.adayroi.net/user-info?[id] • Require Login • Return JSONString: {user_id, username, avatar_path, login_time, last_login_time, last_login_IP,...} • User action API: https://sso.adayroi.net/user-action?type&data • Require Login • Return JSONString: {status}
  • 9. 1. Core User: User administrator system • Summary • Violation (avatar, info...) • etc…
  • 10. 1. CoreUser: User Data Storage • User Info: MySQL • User log: MongoDB • {action, user_id , target_id, target_type, data:{}, created_at} • User relation: MongoDB family: {_id: 1, uids: [2, 3]} followee: { _id: 1, uids: [2, 3] }, followee: { _id: 2, uids: [1, 3] } follower: { _id: “1”, uids: [2,3,4,...], count: 2000, next_page: 2 }, follower: { _id: “1_p2”, uids: [2023,2024,2025,...], count: 10000 } group_serviceID: {_id: 1, gids: [4, 5]} • Session: Redis • {[user_infos],[relations],…}
  • 11. 1. Core User: Technology Problems & Solutions • Load balancing  Gearman: ZingMe News Feed:  80M Users  3M Active users/day  15M actions/day • RESTful  PHP, Laravel 5 (Java, Spring RESTful)
  • 12. 1. Core User: Architect Web Server <Jetty server> RESTful APIs <Spring RESTful> Web Forms Request Control Gearman Server WorkersControllers Caching <Redis> Database <MySQL, MongoDB>