Code Monkey home page Code Monkey logo

eureka_server's Introduction

eureka_server

Pulingle服务发现

提供在分布式环境下的服务发现,服务注册的功能。每个服务及组件服务都在其中注册以及发现。

关于Pulingle

Pulingle简介

  • Pulingle是我们小组三人(zkTomTeemoSmithLee)的本科毕业设计项目,是基于SpringCloud微服务架构的微社交应用。我们应用意在参考微信的朋友圈功能,设计一个功能更为简单的,界面更为简洁,包含动态发布、私信发送、图片分享等功能的社交软件。

主要功能

  1. 用户通过手机号,在进行短信验证码之后进行注册。
  2. 用户注册之后可以凭注册账号密码进行登录,以进行应用提供功能服务。
  3. 用户可以通过简单的操作进行文章,图片动态发布。
  4. 用户可以浏览自己过往发布的动态消息,以及其评论消息。
  5. 用户可以浏览朋友的动态,功能类比微信的朋友圈。并且可对其动态进行评论。
  6. 用户可以上传照片到相册,并可以浏览。
  7. 用户好友之间可以进行消息发送,并对用户新消息的推送。
  8. 用户对账号资料的修改保存

项目架构

对功能的分析,以及结合微服务架构设计,把整个项目大致划分为4个服务。服务之间通过服务治理实现相互调用。

  • 用户服务:提供用户注册、登录、信息修改、好友系统等相关服务。

  • 动态服务:用户发布动态、浏览他人如好友或二次好友动态、评论他人动态等服务。

  • 图片服务:提供用户上传图片、管理图片、相册图片管理等相对应服务。

  • 消息服务:用户之间私信收发,系统消息发送,验证码,通知等服务。 功能图

  • 架构设计 Pulingle架构图

组件说明: Spring Cloud 组件:

  • Eureka Server: 提供在分布式环境下的服务发现,服务注册的功能。每个服务及组件服务都在其中注册以及发现。
  • 网关服务Zuul:边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。
  • Config Server: 配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。这里我们采用从远程Github拉取配置信息。远程配置配置文件加密存储,从ConfigServer拉取时经过解密。
  • Spring Cloud Bus: 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化
  • Git Repo:在Github上提供配置信息。
  • RabbitMQ: 用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面都非常的优秀。是当前最主流的消息中间件之一。

技术栈

  • 后端
    • Maven 3
    • Java 8
    • SpringCloud(Eureka、Zuul、Ribbon、Feign、Config)
    • SpringBoot+MyBatis
    • MySQL 5.7.22
    • Redis 3.0.6
  • 前端
    • node >= 8.9.3
    • npm >= 5.5.1
    • vue
    • axios
    • js-cookie
    • lodash
    • vuex
    • es6-promise
    • photoswipe
    • vue-lazyload
  • 使用RAP2进行接口文档管理: RAP2
  • 使用阿里云OSS服务作图片资源空间
  • 短信验证码使用阿里云短信服务

项目代码链接

项目部署

我们当初的项目是部署在阿里云ECS学生服务器上的。确保已安装环境依赖Java/MySQL/Redis

  • 部署运行顺序:
    1.eureka_server
    2.config_server和gateway_zuul
    3.user-service、message-service、picture-service、moment-service
    (注:确保根据jar运行环境在同一管理配置Pulingle-Config-Repo配置好对应的信息,如端口、IP等)

项目演示

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.