• 互联网系统架构为什么要做前后端分离呢?

    在现在的互联网架构中,前后端分离已经是一个非常常见的系统架构方式了,但是我们将前后端分离以后,感觉项目的架构比传统的分层架构更复杂了,需要的人力资源也更多了,甚至项目周期也变得更长了,既然看上去好处不大,为什么还要做前后端分离呢?上面这个疑问可能是很多创业中的互联网企业疑惑的问题,而我们首先要明白,前后端分离并不是一个互联网系统必须的架构模式,任何的架构都是为业务服务的,如果...

    架构设计 2021年01月09日 1446 0
  • 微服务架构下分布式事务解决方案

    1 微服务的发展微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。Hailo有160个不同服务构成,NetFlix有大约600个服务。国内方面,阿里巴巴、京东、58同城等很多互联网公司都进行了微服务化实践。当前微服务的开发框架也非常多...

    微服务 2021年01月08日 1632 0
  • 数据库:分享四个实用的SQLServer脚本函数,欢迎收藏

    今天给大家分享四个在实际开发中,比较实用的SQLServer脚本函数,希望对大家能有所帮助!1、字符串指定字符分割为list-- 字符串指定字符分割为list CREATE FUNCTION [dbo].[splitl] ( @String VARCHAR(MAX), @Delimiter VARCHAR(MAX) ) RETURNS @temptable TA...

    SQL SERVER 2021年01月08日 2055 0
  • 分布式系统 session 共享解决方案 JWT 实战笔记

    序言在分布式系统中,session 共享是一个必须要解决的问题。JWT 作为将信息放在客户端的解决方案,设计的非常巧妙,本节就和大家一起学习下 JWT 的使用。JWT 的优势或者说为什么使用 jwt?JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案。传统方式互联网服务离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。 2、服务器验...

    Java 2021年01月08日 2223 0
  • 大白话揭秘搞好就能“年薪百万”的SpringCloud微服务

    微服务基本概念架构的演变为什么会有微服务?假如回到10年前,一天张三入职了电商企业—并夕夕商城。公司初创,人比较少,公司网站的用户也很少,公司只有一个工程师项目架构比较简单1.单体架构没有想到的是,公司业务越来越好,网站用户量越来越大,单体架构的问题就暴露出来了,随着访问量增加,项目经常宕机问题:架构简单 难以抗住高并发于是,招人。对并夕夕商城进行升级优化。分析升级的方向:数据...

    SpringCloud 2021年01月08日 2089 0
  • 从php到Golang系统的演变 PHP

    从php到Golang系统的演变

    前言工作这些年,先后经历过两家公司,有参与过php语言框架的开发和主导过go语言技术栈的落地工作,在此过程中有一些感悟和总结。我想以之前我主导的go语言技术栈为线索,来陈述当时遇到的一些问题,以及分析问题和解决问题的思路。主要目的是想陈述go技术体系在团队中落地的过程,分析我们在各个阶段中,遇到的一些问题,并将分析问题的思路和解决问题的方法记录下来,以便让后来的同学了解go语言...

    PHP 2021年01月08日 2154 0
  • Java中“附近的人”实现方案讨论及代码实现

    1|0前言在我们平时使用的许多app中有附近的人这一功能,像微信、qq附近的人,哈罗、街兔附近的车辆。这些功能就在我们日常生活中出现。像类似于附近的人这一类业务,在Java中是如何实现的呢?本文就简单介绍下目前的几种解决方案,并提供简单的示例代码注: 本文仅涉及附近的人这一业务场景的解决方案讨论,并未涉及到相关的技术细节和方案优化,各位看官可以放心阅读。2|0基本套路和方案目前...

    Java 2021年01月07日 1356 0
  • 搭建私有Sentry日志收集系统并集成到springboot

    SentrySentry是一种由Python编写的跨平台程序监控应用, 可以帮助你实时监控和修复崩溃,主要关注错误报告。 Sentry包含一个完整的API,用于在任何应用程序中从任何语言发送事件。JavaScriptReact-NativePythonRubyPHPGoRustJavaObjective-C/SwiftC#PerlElixirLaravel...一、安装Sent...

    SpringBoot 2021年01月07日 3156 0
  • 可动态调节参数的线程池实现

    背景线程池是一种基于池化思想管理线程的工具,使用线程池可以减少创建销毁线程的开销,避免线程过多导致系统资源耗尽。在高并发的任务处理场景,线程池的使用是必不可少的。在双11主图价格表达项目中为了提升处理性能,很多地方使用到了线程池。随着线程池的使用,逐渐发现一个问题,线程池的参数如何设置?线程池参数中有三个比较关键的参数,分别是corePoolSize(核心线程数)、maximu...

    Java 2021年01月07日 1573 0
  • MyUI-新德汇出品的基于Element的中后台项目工程框架 Vue

    MyUI-新德汇出品的基于Element的中后台项目工程框架

    基于 Vue + Element UI 构建的中后台工程框架,专业美观,内置组件丰富。关于 MyUIMyUI 是一款由新德汇出品的基于 Vue + Element UI 构建的工程框架,专注于中后台管理系统快速搭建。喜欢 Element UI 的小伙伴,现在终于有了一个颜值在线,综合素质优秀的 admin UI 框架了。MyUI 演示预览框架特点搭载的代码生成器可生成底层 ap...

    Vue 2021年01月07日 3373 0
  • 程序员架构修炼:架构设计概要,业务、应用、技术、数据架构

    架构设计在架构设计过程中,我们会根据需要做出不同的架构设计,而在设计时需要涉及一定的架构设计核心要素。架构设计概要架构设计是从业务需求到系统实现的一个转换,是对需求进一步深入分析的过程,用于确定系统中实体与实体的关系,以及实体的形式与功能。架构可根据从业务需求到系统实现的不同需要分为:业务架构、应用架构、数据架构、技术架构。下面以电商系统为例进行架构设计。业务架构业务架构是对业...

    架构设计 2021年01月07日 2240 0
  • 基于 Vue3 后台管理平台Vue3.x-Admin Vue

    基于 Vue3 后台管理平台Vue3.x-Admin

    今天给大家分享一个Vue3.0框架搭建的后台管理模板Vue3.xAdmin。vue3.x-admin 使用vue3开发的后台管理系统。主要包括CSS3特效、可拖拽的div、图表、益智小游戏、vuex4.x 存储用户信息等功能。技术栈Vue3.x + vue-router4.x + vuex4.x + Less + Echarts目录结构快速安装通过如下步骤快速本地构建项目。# ...

    Vue 2021年01月07日 20564 2
  • API接口的安全设计验证—ticket,签名,时间戳

    概述与前端对接的API接口,如果被第三方抓包并进行恶意篡改参数,可能会导致数据泄露,甚至会被篡改数据,我主要围绕时间戳,token,签名三个部分来保证API接口的安全性1.用户成功登陆站点后,服务器会返回一个token,用户的任何操作都必须带了这个参数,可以将这个参数直接放到header里。2.客户端用需要发送的参数和token生成一个签名sign,作为参数一起发送给服务端,服...

    Java 2021年01月07日 1537 0
  • java枚举类型,为什么强烈推荐使用?看看它的7种场景方法

    枚举是 JDK 1.5 新增的数据类型,使用枚举我们可以很好的描述一些特定的业务场景,比如一年中的春、夏、秋、冬,还有每周的周一到周天,还有各种颜色,以及可以用它来描述一些状态信息,比如错误码等。枚举类型不止存在在 Java 语言中,在其它语言中也都能找到它的身影,例如 C# 和 Python 等,但我发现在实际的项目中使用枚举的人很少,所以本文就来聊一聊枚举的相关内容,好让朋...

    Java 2021年01月07日 1268 0
  • Spring Boot项目如何对接微信支付

    Payment Spring Boot 这是在业余时间对微信支付V3的Java实现,仅仅依赖Spring内置的一些类库。配置简单方便,可以让开发者快速为Spring Boot应用接入微信支付。其实已经迭代了两个版本了,今天特意分享出来给程序员同学参考。演示例子:https://github.com/NotFound403/payment-spring-boot-samples ...

    微信支付 2021年01月07日 2219 0
  • elasticsearch 基本概念

    概念ElasticSearch 是一个基于Lucene搜索引擎为核心构建的开源、分布式、RESTFUL搜索服务器 集群(cluster)由多个elasticsearch实例组成的去中心化的服务。节点(node)即一个elasticsearch 实例。节点有三种类型master-node 主节点,所有的新增、删除,数据分片由主节点操作 es底层无更新数据操作,上层封装的更新实际...

    Lucene 2021年01月06日 2076 0
  • API快速开发平台设计思考

    在我谈API网关的时候曾经谈到过快速开发平台,即将API快速开发的一些内容放入到API网关中,实际来看围绕API全生命周期管理,本身包括了开发态,运行态,运维态。对于API网关更多的是解决运行态的问题,API网关本身应该轻量化设计,不做太多的协议转换,适配,数据映射等工作,这些工作应该放到API开发平台来完成。API开发平台最终就是开发完成并暴露一个标准的Http API接口,...

    架构设计 2021年01月06日 1266 0
  • Fuse.js——用于JavaScript中数据的模糊搜索

    介绍Fuse.js是一个功能强大、轻量级的模糊搜索库,没有依赖关系。一般来说,模糊搜索(更正式地称为近似字符串匹配)是一种寻找近似等于给定模式(而不是精确地)的字符串的技术。Githubhttps://github.com/krisk/fuse使用场景当你需要对小到中等大小的数据集进行客户端模糊搜索时。基本使用// 1. 要搜索的数据列表 const books = [ {...

    Javascript 2021年01月06日 12794 0
  • 智能运维工作台

    智能运维工作台主要是对运维行为的管理,可以查看资产IP、操作者、登陆的IP地址、登陆的时间、退出的时间、状态、操作。查询在页面最上方的搜索框中输入想找的资产(可分类筛选)、资产IP、操作者,即可查询。2.查看详情点击按钮,即可查看操作日志,日志详细记录资产IP、状态、操作者、操作者IP、登陆时间、登出时间、操作指令、操作的过程,记录详细,提高回溯效率。3.风险指令库点击按钮即可...

    技术文章 2021年01月06日 1656 0
  • 前端内存泄漏及完善的解决方案

    最近收到测试人员的反馈说我们开发的页面偶现卡死,点击无反应的情况,特别是打开页面较久的时候发生概率较高。打开任务管理器,看到内存占有率已经很高了,初步判断可能存在内存泄漏的情况。下面排查内存泄漏的原因。系统进程不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)。当内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。Chrome 限制了浏览器所能使用的内存极...

    前端技术 2021年01月06日 1642 0
  • 微软Edge浏览器用户已达6亿 将迎来稳定版大规模更新

    微软去年推出了新的基于Chromium的Edge网络浏览器,这个新版本提供了与扩展程序和网站的更好兼容性、最新的渲染功能、Web应用程序等。在最近的一份工作清单中,微软透露Edge网络浏览器现在已拥有6亿用户。考虑到这款浏览器2019年才推出,因此6亿用户数增长是十分喜人的。微软Edge网络浏览器微软已经准备好为2021年1月的Edge稳定版进行大规模更新,以下是明年Edge ...

    技术资讯 2021年01月06日 1147 0
  • CENTOS MYSQL复制下slave严重延迟的分析和处理

    昨晚在生产环境刷数据,执行了一个全局表的update table_test set XK = 'PT' where (XK = '' or XK is null);当时语句没啥问题,测试了下,执行单库的时间在6s左右,没太在意,结果今天发现所有的从库严重延迟,全都卡在这条事务的binlog回放上了。分析原因: 尽管我们使用的是基于组的多线程复制,线程配置为4个,但是他对无序i...

    MySQL 2021年01月06日 1191 0
  • SpringBoot 集成小程序推送

    1、订阅消息包括两种一次性订阅消息一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。长期订阅消息一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用...

    Java 2021年01月06日 1555 0
  • 善用HttpMessageConverter修改返回值

    近日,公司前台的小伙伴说我的返回值不对,处理起来太难了,他平白无故的增加了很多的工作量。我寻思:“纳尼?”。凑近一看,原来是接口的返回值,value为空的返回值都是null,增加了非空判断。例:{ "code": "1", "msg": "success", "data": { "orderId": "1313132", "address": null, "g...

    Java 2021年01月06日 1444 0
  • 用Spring Boot实现https ssl免密登录

    要让项目实现 ssl 免密登录,首先需要开启 https 。所以先从 Spring Boot 如何开启 https 说起。创建服务端证书为了开启 https ,我们需要一份证书。实际开发中,会在网上申请一个机构颁发的证书。这里为了方便,我会使用 openssl 命令自己生成一个证书来使用。openssl req -x509 -sha256 -days 3650 -newkey ...

    Java 2021年01月06日 1570 0
  • 什么是MySQL主从复制读写分离,看这篇就够了

    思维导图前言在很多项目,特别是互联网项目,在使用MySQL时都会采用主从复制、读写分离的架构。为什么要采用主从复制读写分离的架构?如何实现?有什么缺点?让我们带着这些问题开始这段学习之旅吧!为什么使用主从复制、读写分离主从复制、读写分离一般是一起使用的。目的很简单,就是为了提高数据库的并发性能。你想,假设是单机,读写都在一台MySQL上面完成,性能肯定不高。如果有三台MySQL...

    MySQL 2021年01月05日 1325 0
  • 什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推

    聚集索引我们先建如下的一张表CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` varchar(10) NOT NULL COMMENT '学生姓名', `age` int(11) NOT NULL COMMENT '学生年龄', PRIMARY K...

    MySQL 2021年01月05日 2022 0
  • springboot 数据安全传输加密与解密

    环境:springboot2.2.6.RELEASE、Vue+axios通过继承RequestBodyAdviceAdapter实现对于请求的内容进行解密操作,实现ResponseBodyAdvice来对相应内容进行加密处理。定义加密解密的接口:SecretProcess.javapublic interface SecretProcess { /** * <...

    Java 2021年01月05日 1302 0
  • MySQL的日志 - relay log

    前言relay log的作用如何开启relay log验证relay log开启的效果relay log日志相关参数relay log日志的清除最后前言前面介绍了MySQL的binlog日志相关的知识点,接下里这篇文章中,我们来看一下relaylog的相关内容。relay-log是记录什么的?MySQL用它做什么?relay log的作用Relay log,我们翻译成中文,一般...

    MySQL 2021年01月05日 2394 0
  • 如何设计一份体验好的表单?来看这篇超全总结

    说到表单其实在生活中可以接触到各种各样的表单,主要目的就是让用户填写来「收集用户信息」。初看这些表单,你可能觉得很简单,就是一些标签、非常基础的小组件,但是在实际业务中,想要将这些小组件组合拼装成合适的表单却需要推敲非常多的细节,常常会让设计师陷入无限的纠结中,比如:文字标签是左对齐还是右对齐?确定按钮是放左边还是右边?控件颗粒长度是整齐划一还是与输入预期一样错落有致?反馈内容...

    HTML5 2021年01月04日 2712 0