EOFFICE-使用REDIS通过微服务协作
#redis #microservices #redishackathon #pubsub

目录

Overview
Submission Category
Video
Link to the application
Link to code
Architecture
How the data is stored
Functionalities

我提交的概述

eoffice 是人力资源平台,它为新员工提供流程,并管理员工在不同卷之间分配职责的好处。

提交类别

提交类别是 microservices mavens 用于服务之间的通信。

视频

建筑与技术

链接到应用程序

该应用程序托管在Azure中。
Link to the application

链接到代码

e-office | Redis Hackathon on Dev

Link to the application

Link to the application

概述视频

Youtube

项目描述

eoffice是人力资源平台,可为新员工提供流程,并管理员工在不同卷之间分配职责的好处。

功能

  • 请参阅所有舷板
  • 创建一个入职
  • 请参阅入职的详细信息
  • 请参阅所有系统帐户请求
  • 解决系统帐户请求

建筑和技术

a03d589d-d34d-403d-86fd-13e09f55e688

  • 演示项目:使用.NET 6.0
  • 的服务器大火应用程序
  • 微服务:使用.NET 6.0
  • 的Web API
  • 数据库:SQL Server
  • 微服务通信:redis pub/sub

流程图:

  1. 创建入职 CreateOnboarding Flow

  2. 解决系统帐户请求 resolve-sysytem-accounts-request-flow

如何在本地运行?

先决条件

  1. .net 6.0
  2. 3 SQL Server数据库
  3. redis数据库

本地安装

  1. 在appsettings.josn中为数据库的每个模块添加连接字符串
  2. 设置为启动项目:eoffice,eoffice.onboardings.api,eoffice.leave.api,eoffice.systemaccounts.api
  3. 运行项目

它如何工作

数据是如何

建筑学

Image description

  • 演示项目:使用.NET 6.0
  • 的服务器大火应用程序
  • 微服务:使用.NET 6.0
  • 的Web API
  • 数据库:SQL Server
  • 微服务通信:redis pub/sub

使用的语言

c# - .net 6.0

流程图

  1. 创建入职
    CreateOnboarding Flow

  2. 解决系统帐户请求
    resolve-sysytem-accounts-request-flow

数据如何存储

微服务使用Redis的Pub/sub相互通信,对于每种类型的通信,都将使用不同的通道。
3个频道

  • SystemAccount_Channel
    • 出版商:Onboardings Module
    • 订阅者:SystemAccounts模块
  • well_channel
    • 出版商:Onboardings Module
    • 订阅者:离开平衡模块
  • onboarding_channel
    • 出版商:SystemAccounts模块,离开Balance模块
    • 订阅者:登机模块

Publis Code

var modelAsString = JsonConvert.SerializeObject(model);
_pubSub.Publish("channel_name", modelAsString);

订阅代码

connection.GetSubscriber()
    .Subscribe("channel_name", (channel, message) =>
    {
        // DO something
    });

功能

  • 仪表板

Image description

  • 请参阅所有舷板

Image description

  • 创建一个入职

Image description

  • 请参阅入职的详细信息

Image description

  • 请参阅所有系统帐户请求

Image description

  • 解决系统帐户请求

Image description