最近系统做了分布式,想请教一下关于分布式的一些问题

本贴最后更新于 1938 天前,其中的信息可能已经沧海桑田

首先为了保证数据的幂等性,肯定是要加分布式锁:

  • 本人对分布式锁没有什么了解,会用 redis 简单操作一个锁,感觉并不靠谱.
  • 然后是数据库: 大概查阅了一下资料,需要对 mysql 做一个主从的配置.
  • 系统的维护性: 如果一个系统挂掉,我该如何能迅速定位那个挂掉的服务器.出现 Bug:如果现在出现 Bug,该去找那个项目的日志。我查了一下有 ELK 这个玩意,大概浏览了一下,对我而言有一点困难。可能没有那个能力去完成这个事情。
  • 分布式 session: 这个我用 shiro 框架,解决了.

问题总结

  1. 数据库数据的幂等性(分布式锁解决).
  2. 当一个服务器的状态:有状态无状态,如何对他进行一个监控。
  3. 当服务器出现 Bug,有没有简单的方法进行一个监控。😂
  4. 项目维护是不是会相当复杂。😂

本人能想到的就是这些,其他暂时想不到。希望各位大佬能补充一下,如果可以顺便给个意见。谢谢您

  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    143 引用 • 442 回帖 • 1 关注
  • 分布式
    80 引用 • 149 回帖 • 4 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9717 引用 • 44206 回帖 • 89 关注
1 操作
someone53774 在 2020-01-17 10:47:46 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    麻烦先把 Markdown 排版学好 😂

    1 回复
  • someone53774

    没怎么写过文章见谅,我去本地写一下复制过来

  • jetablezhu

    你说的每个问题,都有对应的成熟开源产品对接,不过正如 D 大说的,先去看看如何更好地问问题,其中涉及两个点:

    1. 排版友好
    2. 先去网络尽力搜索过

    你都没有完成啊 🐼

    1 回复
  • someone53774

    排版不太会,在看文档。等会修改。问题已经搜索过了,自己也查阅了些资料。有些开源技术,自身技术可能不够。

  • xuwujing

    问题有点笼统,我个人简单说一下见解吧。

    1. 分布式锁
    2. 服务器的状态,是指程序的存活情况吗?如果是的,可以通过 pid 进行监控。
    3. 服务器出现 bug,这个是指程序在运行过程中出现的问题吗?如果是的,可以输出日志,然后通过监控日志才触发告警。
    4. 项目维护是一个长期的工作,越大的项目整体而言越复杂,其实看整体的设计情况和对项目的熟悉程度。
    1 回复
  • 714593351

    现在有很多分布式系统监控工具,比如 skywalking,pinpoint,cat 等,可以解决你的第 2、3 个问题。

    1 回复
  • Ahian via macOS

    问题 2、3、4 的解决办法一个是 日志监控 侧重于业务逻辑,一个是 metrics 监控侧重于系统健康,如果没有能力搭建监控平台可以使用阿里云的日志服务、ARMS 等,都有告警的功能。
    问题 1.数据的一致性可以参考使用消息队列来实现分布式锁。

    1 回复
  • someone53774

    谢谢

  • someone53774

    谢谢

  • someone53774

    谢谢

请输入回帖内容 ...

推荐标签 标签

  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 3 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    188 引用 • 1057 回帖
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 1 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 556 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖 • 1 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    108 引用 • 295 回帖
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 1 关注
  • 笔记

    好记性不如烂笔头。

    310 引用 • 794 回帖
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    54 引用 • 44 回帖
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖 • 1 关注
  • AWS
    11 引用 • 28 回帖 • 9 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 114 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 10 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 107 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 2 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • Excel
    31 引用 • 28 回帖
  • Visio
    1 引用 • 2 回帖 • 2 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25397 引用 • 104973 回帖
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 81 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    5 引用 • 7 回帖 • 1 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    35 引用 • 468 回帖 • 763 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    89 引用 • 122 回帖 • 618 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    7 引用 • 27 回帖 • 1 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 436 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    210 引用 • 2040 回帖