精华内容
下载资源
问答
  • 在消费者搜索结果的显眼位置,电子商务市场已逐渐用赞助产品列表代替有机产品列表。 市场在赞助列表中除了收取销售佣金外,还收取列表费用,而在有机列表中,它们仅收取后者。 此外,市场可以访问大量的消费者数据,...
  • Hyperic HQ产品功能列表

    万次阅读 2018-02-08 10:21:32
    Hyperic HQ产品功能列表 注:黄色为个人猜测有待共同探讨;红色为功能或作用未知。 一级菜单 二级菜单 三级菜单 功能描述 备注 首页/仪表盘 搜索资源 搜索平台 按照名字搜索当前已经监控的平台 平台:agent监控的...
    Hyperic HQ产品功能列表
    注:黄色为个人猜测有待共同探讨;红色为功能或作用未知。
    一级菜单二级菜单三级菜单功能描述备注
    首页/仪表盘搜索资源搜索平台按照名字搜索当前已经监控的平台平台:agent监控的主机(详见管理->监测配置)
    搜索服务器按照名字搜索当前已经监控的服务器服务器:agent监控的服务器(详见管理->监测配置)
    搜索服务按照名字搜索当前已经监控的服务服务:agent监控的服务(详见管理->监测配置)
    搜索应用按照名字搜索当前已经监控的应用应用:(猜测)比如一个工作需要文件管理系统、CPU、网络服务等,我就新建一个“应用”,勾选这几类服务。当用户点击查看这个应用时就显示这几类服务。或者用户想方便监控所有平台同类服务,如CPU服务,就新建一个应用将之添加进去。(类似于人工按工作需要把几个服务分成一个“组”,称之为“应用”)。用户须自己创建。
    搜索混合组按照名字搜索当前已经监控的混合组混合组:同上但范围更宽泛,有三种类别的“组”:
    ①应用组:混合组可以将应用连同其它服务再划分一个组,称之为混合组。
    ②平台组:可以将几个平台划分成一个组。
    ③集群组:可以将一类平台或服务器或服务分成一个组。
    ④组:可以将①②③中的组再划分成一个组。
    搜索兼容集群组按照名字搜索当前已经监控的兼容集群组兼容集群组:可以将一类平台或服务器或服务分成一个组。和应用不同的是,它对象必须是同类的平台或服务器或服务,而应用的对象是所有服务。用户须自己创建。
    近期添加近期添加显示最近2天添加到资源库的平台(可配置显示的数量)
    保存图表保存图表显示保存的图表的列表(可在配置中删除)(用户在查看某个图表的时候,如CPU活动,可以选择Save Chart to My Dashboard来在首页/仪表盘显示),主要作用还是方便监视某个资源。
    可用的摘要可用的摘要显示摘要列表(可配置显示的数量)此功能是把某一类的平台、服务器或服务作为一项显示,点击后进入资源显示这一类的平台列表。
    摘要数量平台数量显示当前平台数量(可配置显示的类型)
    服务器数量显示当前服务器数量(可配置显示的类型)
    服务数量显示当前服务数量(可配置显示的类型)
    应用数量显示当前应用数量(可配置显示的类型)
    混合组数量显示当前混合组数量(可配置显示的类型)
    兼容集群组数量显示当前兼容集群组数量(可配置显示的类型)
    新建应用新建应用
    新建组新建组
    新建平台新建平台一般情况下新平台是可以自动发现然后添加的,此处是为了防止没有自动发现可以手动添加。
    自动发现自动发现显示用户新部署的agent监视的平台和服务器列表(可配置显示的数量)一般情况下用户新部署agent后刷新页面就能显示
    增加到资源库将自动发现的平台和服务器添加到资源库
    跳过所选资源不再显示用户选中自动发现的列表
    管理操作近期管理操作显示近期管理操作列表(可配置显示的数量)意思是显示管理中的操作记录,但是修改后没有显示
    快速操作频率显示快速操作频率列表(可配置显示的数量)
    常用资源常用资源显示常用的资源(须用户自己配置)资源:平台、服务器、服务、应用、混合组、集群
    近期告警近期告警显示近期的告警信息(用户可配置显示告警的时间、告警级别和哪个资源的告警,还可以按时间排序)资源:平台、服务器、服务、应用、混合组、集群
    监测指标监测指标显示用户选择资源的某个指标资源:平台(Win32不显示?)
    指标:cpu、内存等
    添加内容添加内容添加或删除以上面板
    资源Current Down当前未运行资源显示当前未运行的资源资源:平台、服务器、服务
    资源类型用户选择资源类型然后把该类型的资源显示以上面板资源:平台、服务器、服务
    菜单新建平台新建平台
    新建组新建组新建集群功能也是在新建组下(集群是特殊的组)
    新建应用新建应用
    平台结构显示该平台的服务器拓扑
    菜单配置平台:跳转下面平台资源清单->配置监控信息
    删除平台:删除该平台
    新建服务器:新建服务器
    新建平台服务:新建平台服务
    新建自动发现:新建自动发现(手动配置自动发现)
    启动该代理上所有警报:启用警报
    禁用该代理上所有警报:禁用警报
    添加到仪表盘收藏:主页->保存图表可方便查看
    添加到组:把该平台资源添加到某个组
    显示资源显示平台(搜索后)的资源
    搜索资源按照名字、类型、组、可用状态、所有者等搜索资源类型:当前监控平台资源的类型,如Linux、Win32等
    列表/图表视图切换用列表/图表形式显示资源状态
    添加到某个组
    删除删除该平台资源
    启用/禁用所有警报启用/禁用所有警报
    平台基本信息显示平台基本信息描述、所有者(可更改)、从域名服务器、默认网关、厂商、厂商版本、IP地址、主域名服务器、CPU主频、操作系统版本、内存、体系结构。
    监测/当前状态CurrenceHealth指示:图显示一个时间段服务状态信息(可以配置时间)Linux平台指标:Cpu Usage、Free Memory、Load Average 5 Minutes、Page Faults per Second、Page Major faults per Second、Percent Used Memory、Percent Used Swap、Swap Pages Out per Minute、Swap Total、Swap Used、Total Memory、Total disk capacity、Total disk usage、Used Memory、Availability。
    Win32平台指标:Cpu Usage、Free Memory、Memory Available Bytes、Memory Page Faults/sec、Memory Pages Input/sec、Memory Pages Output/sec、Memory Pages/secMemory System Code Total Bytes、Percent Used Memory、Percent Used Swap、Swap Pages Out per Minute、Swap Total、Swap Used、Total Memory、Total disk capacity、Total disk usage、Used Memory、Avg. Disk sec/Transfer、Availability。
    指标数据:表显示一个时间段服务状态信息(可以配置时间)
    平台服务运行状况:显示服务列表,用户可点击然后在指示、指标里显示某类服务的状态信息
    配置服务器运行状况:显示服务器列表,用户可点击然后在指示、指标里显示某类服务的状态信息
    查看指标:查看某些服务器和服务的状态信息
    平台资源清单
    PlatformInventoryVisibility
    常规属性:显示常规属性(名称、描述、位置可修改)描述、创建日期、位置、修改日期、资源类型、更改者。 
    类型&网络属性:显示平台类型和网络属性平台:平台类型、完全限制域名、代理连接。
    网络属性(所有启动的网络适配器):IP地址、子网掩码、MAC地址。
    服务器:显示该平台服务器情况服务器总数、类型总数
    服务器视图:显示该平台所有服务器列表(可分类显示)
    服务:显示该平台所有服务列表(可分类显示)
    组包含的资源:显示该平台所属的组信息(可以添加删除)
    配置属性:显示该平台的配置属性信息
    配置监控信息:显示该平台配置监控信息(可修改)top_processes.enable、top_processes.interval、top_processes.number、platform.log_track.enable、platform.log_track.level、platform.log_track.eventlogs、platform.config_track.enable、platform.config_track.files  
    警报AlertsPortal警报:显示该平台警报信息列表(可按时间段显示)
    配置:显示该平台警报配置列表(可按时间段显示)
    新增:新增一条警报配置(新增完成时可选择配置升级策略、通知的HQ用户、通知其它收件人、OpenNMS)
    删除:删除选择的警报配置
    修复警报fixed:
    acknowledge
    视图LiveExec选择一个查询条件并显示图表信息
    cpuinfo:displays details about the cpu(s).属性:CPU、Model、Cache Size、Mhz、Vendor
    cpuperc:displays cpu percentage usage.属性:CPU、User、Sys、Nice、Idle、Idle
    df:"disk free" reports available space and space in use in drives accessible by your system. There is no corollary command in windows.属性:Filesystem、Size、Used、Avail、Use%、Mounted on、Type
    ifconfig:"interface configuration" lists the details of the installed network interfaces. In Windows this is the ipconfig command.属性:Name、Type、HWAddr、Address、Broadcast、Netmask、MTU、Transmitted (Bytes、Dropped、Errors、Frame、Overruns、Packets)、Received(Bytes、Carrier、Collisions、Dropped、Errors、Overruns、Packets)
    netstat:"nework status" reports the active connections for each protocol and the active socket details. 属性:Protocol、Local Address、Remote Address、State、Process
    top:displays a sorted list of processes and their details also displays summary information on the memory and cpu usage and load for the system. In Windows this is like the Task Manager.当前平台信息:Time、Load Avg、CPU States、Mem、Swap、Processes
    监控进程信息:PID、USER、STIME、SIZE、RSS、SHARE、TIME、%CPU、%MEM、COMMAND
    who:reports which users are currently logged into the system, the name of their console and login time.属性:User、Device、Time、Host
    服务器服务器参考平台(没有视图)参考平台(没有视图)
    服务服务参考平台(没有视图)参考平台(没有视图)
    兼容/集群组兼容/集群组视集群的类型参考(平台、服务器、服务)视集群的类型参考(平台、服务器、服务)
    混合组混合组参考平台(只有资源和视图)参考平台(只有资源和视图)
    应用应用参考服务参考服务
    分析事件分析事件显示事件列表事件指的是?都有哪些事件?
    过滤器根据级别、类型、时间、组过滤显示事件
    告警分析资源警报显示警报列表
    过滤器根据级别、类型、时间、组、修复状态过滤显示事件
    修复警报fixed:参考资源->平台->警报
    acknowledge参考资源->平台->警报
    管理验证/授权用户列表显示当前系统用户列表(可删除)
    新建用户新建系统用户
    HQ服务器配置 HQ服务器配置 电子邮件配置属性:Url、从电子邮件地址
    公告属性配置属性:HQ版本和安全公告
    数据管理配置属性:监测数据自检间隔时间、删除监测的指标数据的时间、是否重检索指标数据表格、删除警报数据的时间、删除事件和日志数据的时间、
    vCenter设置 属性:vCenter URL、vCenter用户、vCenter口令
    全局报警配置属性:是否启用报警、报警是否通知
    插件Groovy Console功能未知
    HQ Web Services Apiapi下载链接
    HQ Health显示HQ基本信息属性:系统负载平均值、系统内存统计、HQ处理的信息、JVM 内存、系统处理器状态、系统交换区统计、使用率%(系统资源)、
    打印基本信息
    诊断:显示诊断报告诊断对象:Agent Synchronizer、EhCache Diagnostics、Enabled Metrics Not Coming In、Metric Reports Stats、ZEvents
    缓存:显示缓存信息属性:region、Size、Hits、Misses、Limit
    负载:显示负载信息属性:每分钟收集的度量、平台、CPUs、代理、有效的代理、服务器、服务、应用、角色、用户、有效警报、资源、资源类型、组、升级、有效升级。
    数据库:执行动作或查询动作:清除AIQ数据、清除停止的升级
    查询:自动资源IP、自动资源平台、、自动资源服务器、数据库字符集、孤立的报警定义数量、孤立的审计数量、已停止的升级、孤立的组数量、孤立的平台数量、孤立的资源组数量、孤立的资源数量、孤立的服务器数量、孤立的服务数量、数据库版本信息、Postgres锁、Postgres活动、活跃但禁用的资源报警定义。
    代理(Agent):显示Agent信息列表属性:主机名、IP地址、端口、版本、Bundle版本、创建时间、平台、度量、偏移时差
    展开全文
  • 阿里巴巴开源产品列表

    千次阅读 2016-02-21 22:41:02
    跟踪器主要做调度工作,在访问上起负载均衡的作用。 存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。 http://www.oschina.net/p/fastdfs ...

    代码:https://github.com/alibaba


    taobao-kernel

    http://kernel.taobao.org/

    https://github.com/alibaba/taobao-kernel

    淘宝内核是淘宝内核开发团队基于RHEL6官方内核自己定制的内核,他与RHEL6系列内核的主要区别包括:
    1. 修改了一些编译脚本和错误,使得这个内核可以在RHEL5系列的系统中编译和使用,从而能够让广大用户既能够拥有RHEL5系列的稳定,同时享受到2.6.32系列内核诸多新功能和优化,并省去了重新安装操作系统的麻烦。
    2. 修复了一些Redhat内核中的bug。在使用Redhat系列内核时,经常会遇到一些内核bug等,我们秉承公开的原则会及时向Redhat反馈(通过bugzilla的方式,详细见【1】),但是Redhat代码更新的过程很漫长,导致我们的问题无法及时得到解决,也没有立即可用的版本,于是我们会把这些修复加入淘宝内核中(patches.taobao目录下的部分patches),等Redhat合并了fix以后再从淘宝内核中摘除。
    3. 增加了一些我们认为对淘宝业务有很大收益的特性比如netoops,bigalloc等(patches.taobao目录下的部分patches),这些特性如果等待Redhat去实现需要更长的时间,所以只能自己来做。

    ---------------------------------

    AliJVM

    http://jvm.taobao.org/index.php?title=首页

    阿里有几万台Java应用服务器,上千名Java工程师、及上百个Java应用。为此,核心系统研发部专用计算组的工作之一是专注于OpenJDK的优化及定制,根据业务、应用特点及开发者需要,提供稳定,高效和深度定制的JVM版本:TaobaoJVM。
    AliJVM基于OpenJDK HotSpot VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,全部替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。

    性能优化*Performance Tuning(针对淘宝x86平台的专用优化)
    定制*Customization(根据淘宝业务需求)
    Bug修复*Bug fixing

    基于OpenJDK深度定制的淘宝JVM(TaobaoVM)

    其实从严格意义上来说,在提升Java虚拟机性能的同时,却严重依赖物理CPU类型。也就是说,部署有TaobaoVM的服务器中,CPU全都是清一色的Intel CPU,且编译手段采用的是Intel C/CPP Compiler进行编译,以此对GC性能进行提升。除了优化编译效果外,TaobaoVM还使用了crc32指令实现JVM intrinsic降低JNI的调用开销

    在提升Java虚拟机性能的同时,却严重依赖物理CPU类型。也就是说,部署有TaobaoVM的服务器中,CPU全都是清一色的Intel CPU,且编译手段采用的是Intel C/CPP Compiler进行编译,以此对GC性能进行提升。除了优化编译效果外,TaobaoVM还使用了crc32指令实现JVM intrinsic降低JNI的调用开销

    除了在性能优化方面下足了功夫,TaobaoVM还在HotSpot的基础之上大幅度扩充了一些特定的增强实现。比如创新的GCIH(GC invisible heap)技术实现off-heap,这样一来就可以将生命周期较长的Java对象从heap中移至heap之外,并且GC不能管理GCIH内部的Java对象,这样做最大的好处就是降低了GC的回收平率以及提升了GC的回收效率,并且GCIH中的对象还能够在多个Java虚拟机进程中实现共享。其他扩充技术还有利用PMU hardware的Java profiling tool和诊断协助功能等。

    ---------------------------------

    TProfiler

    TProfiler是一个可以在生产环境长期使用的性能分析工具

    https://github.com/alibaba/TProfiler

    TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持.

    TProfiler在JVM启动时把时间采集程序注入到字节码中,整个过程无需修改应用源码.运行时会把数据写到日志文件,一般情况下每小时输出的日志小于50M.

    字节码修改:



    运行实现原理


    ---------------------------------

    Jstom

    https://github.com/alibaba/jstorm

    jstorm可以看作是storm的java增强版本,除了内核用纯java实现外,还包括了thrift、python、facet ui。从架构上看,其本质是一个基于zk的分布式调度系统。


    更多参考此文:Jstom简介

    ------------------------------------------------

    tengine

    http://tengine.taobao.org/

    Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。


    ------------------------------------------------

    Dubbo

    http://dubbo.io/   

    DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    用户指南和使用背景

    随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。

    阿里内部并没有采用Zookeeper做为注册中心,而是使用自己实现的基于数据库的注册中心,即:Zookeeper注册中心并没有在阿里内部长时间运行的可靠性保障,此Zookeeper桥接实现只为开源版本提供,其可靠性依赖于Zookeeper本身的可靠性。


    Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

    Zookeeper作为Dubbo服务的注册中心,Dubbo原先基于数据库的注册中心,没采用Zookeeper,Zookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。

    ---------------------

    Druid

    http://www.oschina.net/p/druid/

    Druid是一个JDBC组件,它包括三部分: 

    DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 
    DruidDataSource 高效可管理的数据库连接池。 
    SQLParser 
    Druid可以做什么? 
    1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。 
    2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。 
    3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。 
    4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。 
    扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。 

    在线文档

    -----------------------------

    fastjson

    http://www.oschina.net/p/fastjson

    fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。


    主要特点:
    快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)
    强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)
    零依赖(没有依赖其它任何类库除了JDK)

    ------------------------------

    FastDFS

    http://bbs.chinaunix.net/forum-240-1.html

    FastDFS是一个开源的分布式文件系统,对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
    FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
    存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。

    http://www.oschina.net/p/fastdfs

    https://sourceforge.net/projects/fastdfs/


    -----------------------

    TFS

    https://github.com/alibaba/tfs

    TFS是淘宝针对海量非结构化数据存储设计的分布式系统,构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。高可扩展、高可用、高性能、面向互联网服务。

    http://tfs.taobao.org/  


    TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。
    TFS的总体结构
    一个TFS集群由两个!NameServer节点(一主一备)和多个!DataServer节点组成。这些服务程序都是作为一个用户级的程序运行在普通Linux机器上的。
    在TFS中,将大量的小文件(实际数据文件)合并成为一个大文件,这个大文件称为块(Block), 每个Block拥有在集群内唯一的编号(Block Id), Block Id在!NameServer在创建Block的时候分配, !NameServer维护block与!DataServer的关系。Block中的实际数据都存储在!DataServer上。而一台!DataServer服务器一般会有多个独立!DataServer进程存在,每个进程负责管理一个挂载点,这个挂载点一般是一个独立磁盘上的文件目录,以降低单个磁盘损坏带来的影响。

    ------------------------

    canal和outer

    canal

    canal 是阿里巴巴mysql数据库binlog的增量订阅&消费组件。
    定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql

    原理相对比较简单:
    canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
    mysql master收到dump请求,开始推送binary log给slave(也就是canal)
    canal解析binary log对象(原始为byte流)


    --------

    otter 基于Canal开源产品,获取数据库增量日志数据。准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。


    分布式数据库同步系统otter(解决中美异地机房)

    杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。

    1.  异构库同步
       a.  mysql ->  mysql/oracle.  (目前开源版本只支持mysql增量,目标库可以是mysql或者oracle,取决于canal的功能)
    2.  单机房同步 (数据库之间RTT < 1ms)
       a. 数据库版本升级 b. 数据表迁移 c. 异步二级索引
    3.  跨机房同步 (比如阿里巴巴国际站就是杭州和美国机房的数据库同不,RTT > 200ms,亮点)
    4.  双向同步
        a.  避免回环算法  (通用的解决方案,支持大部分关系型数据库) b.  数据一致性算法   (保证双A机房模式下,数据保证最终一致性,亮点)
    5.  文件同步
        a.  站点镜像  (进行数据复制的同时,复制关联的图片,比如复制产品数据,同时复制产品图片).

    -------------------

    DataX

    https://github.com/alibaba/DataX

    DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成。 


    -----------------

    LVS

    LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。

    http://www.linuxvirtualserver.org/   https://github.com/alibaba/LVS

    ---------------

    Tair

    http://code.taobao.org/p/tair/src/

    Tair是淘宝自主开发的一个分布式key/value存储系统。


    tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair 可以看成是一个分布式缓存. 持久化的 tair 将数据存放于磁盘中. 为了解决磁盘损坏导致数据丢失, tair 可以配置数据的备份数目, tair 自动将一份数据的不同备份放到不同的主机上, 当有主机发生异常, 无法正常提供服务的时候, 其于的备份会继续提供服务.
    tair 的总体结构
    tair 作为一个分布式系统, 是由一个中心控制节点和一系列的服务节点组成. 我们称中心控制节点为config server. 服务节点是data server. config server 负责管理所有的data server, 维护data server的状态信息. data server 对外提供各种数据服务, 并以心跳的形式将自身状况汇报给config server. config server是控制点, 而且是单点, 目前采用一主一备的形式来保证其可靠性. 所有的 data server 地位都是等价的.



    tair 的分布采用的是一致性哈希算法, 对于所有的key, 分到Q个桶中, 桶是负载均衡和数据迁移的基本单位. config server 根据一定的策略把每个桶指派到不同的data server上. 因为数据按照key做hash算法, 所以可以认为每个桶中的数据基本是平衡的. 保证了桶分布的均衡性, 就保证了数据分布的均衡性.

    -----------------------------------------

    OceanBase

    OceanBase是阿里巴巴集团研发的可扩展的关系数据库,实现了数千亿条记录、数百TB数据上的跨行跨表事务。

    http://code.taobao.org/p/OceanBase/wiki/index/

    OceanBase的目标是支持数百TB的数据量以及数十万TPS、数百万QPS的访问量。无论是数据量还是访问量,即使采用非常昂贵的小型机甚至是大型机,单台关系数据库系统都无法承受。而经过对在线业务数据的分析,我们发现虽然其数据量十分庞大,例如几十亿条、上百亿条甚至更多记录,但最近一段时间(例如一天)的修改量往往并不多,通常不超过几千万条到几亿条,因此,OceanBase决定采用单独的更新服务器来记录最近一段时间的修改增量,而以前的数据保持不变。每次查询都需要把基准数据和增量数据融合后返回给客户端。
    OceanBase将写事务集中在独立的更新服务器上,可以避免复杂的分布式事务,高效地实现跨行跨表事务。更新服务器上的修改增量通过定期合并操作融合多台基准数据服务器中,从而避免其成为瓶颈,实现了良好的扩展性。

    揭秘阿里服务互联网金融的关系数据库——OceanBase


    OceanBase则是“多活”设计,即多个库(3个,5个等)每个都可以有部分读写流量,升级时先把要升级的库的读写流量切走,升级后先进行数据对比,正常后逐步引入读写流量(白名单,1%,5%,10%......),一切正常并运行一段时间后再升级其他的库。

    ----------------------

    RocketMQ

    https://github.com/alibaba/RocketMQ

    阿里RocketMQ Quick Start

    RocketMQ单机支持1万以上的持久化队列,前提是足够的内存、硬盘空间,过期数据数据删除(RocketMQ中的消息队列长度不是无限的,只是足够大的内存+数据定时删除)


    RocketMQ与Kafka对比(18项差异)【深度比较非常好】

    Kafka无限消息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用在淘宝交易、订单、充值等场景下还有诸多特性不满足,为此我们重新用Java语言编写了RocketMQ,定位于非日志的可靠消息传输(日志场景也OK),目前RocketMQ在阿里集团被广泛应用在订单,交易,充值,流计算,消息推送,日志流式处理,binglog分发等场景。

    数据可靠性,性能对比,单机支持的队列数,消息投递实时性,消费失败重试,消息顺序,定时消息,分布式事务消息,消息查询,消息回溯,消费并行度,消息轨迹,开发语言友好性,Broker端消息过滤,消息堆积能力


    RocketMQ支持异步实时刷盘,同步刷盘,同步复制,异步复制
    Kafka使用异步刷盘方式,异步复制/同步复制


    Kafka单机写入TPS约在百万条/秒,消息大小10个字节
    RocketMQ单机写入TPS单实例约7万条/秒,单机部署3个Broker,可以跑到最高12万条/秒,消息大小10个字节。


    Kafka单机超过64个队列/分区,Load会发生明显的飙高现象,队列越多,load越高,发送消息响应时间变长。Kafka分区数无法过多的问题
    RocketMQ单机支持最高5万个队列,Load不会发生明显变化


    Kafka使用短轮询方式,实时性取决于轮询间隔时间,0.8以后版本支持长轮询。
    RocketMQ使用长轮询,同Push方式实时性一致,消息的投递延时通常在几个毫秒。


    Kafka消费失败不支持重试。
    RocketMQ消费失败支持定时重试,每次重试间隔时间顺延
    例如充值类应用,当前时刻调用运营商网关,充值失败,可能是对方压力过多,稍后再调用就会成功,如支付宝到银行扣款也是类似需求。
    这里的重试需要可靠的重试,即失败重试的消息不因为Consumer宕机导致丢失。


    消息查询对于定位消息丢失问题非常有帮助,例如某个订单处理失败,是消息没收到还是收到处理出错了。对于定位消息丢失问题非常有帮助,例如某个订单处理失败,是消息没收到还是收到处理出错了。


    消息回溯最典型业务场景如consumer做订单分析,但是由于程序逻辑或者依赖的系统发生故障等原因,导致今天消费的消息全部无效,需要重新从昨天零点开始消费,那么以时间为起点的消息重放功能对于业务非常有帮助。

    -----------------------

    Tsar

    tsar是淘宝自己开发的一个采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等),以及应用数据(如squid haproxy nginx等)。
    收集到的数据存储在磁盘上,可以随时查询历史信息,输出方式灵活多样,另外支持将数据存储到mysql中,也可以将数据发送到nagios报警服务器。

    http://code.taobao.org/p/tsar/wiki/index/

    https://github.com/alibaba/tsar

    淘宝开发的系统监控工具 Tsar 开源

    -----------------------

    TDDL

    淘宝分布式数据层

    https://github.com/alibaba/tb_tddl

    http://www.oschina.net/p/tddl

    数据到了百亿级别的时候,任何一个库都无法存放了,于是分成2个、4个、8个、16个、32个……直到1024个、2048个。
    这时候,数据查询的中间件对上层来说,必须像查询一个数据库一样来查询数据,还要像查询一个数据库一样快(每条查询在几毫秒内完成),TDDL就承担了这样一 个工作。在外面有些系统也用DAL(数据访问层) 这个概念来命名这个中间件。


    剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER)

    TDDL 必须要依赖 diamond 配置中心( diamond 是淘宝内部使用的一个管理持久配置的系统,目前淘宝内部绝大多数系统的配置)。

    -----------------------

    Diamond

    淘宝分布式配置管理服务Diamond  原文地址:http://codemacro.com/2014/10/12/diamond/

    zookeeper的一种应用就是分布式配置管理(基于ZooKeeper的配置信息存储方案的设计与实现)。百度也有类似的实现:disconf。
    Diamond则是淘宝开源的一种分布式配置管理服务的实现。Diamond本质上是一个Java写的Web应用,其对外提供接口都是基于HTTP协议的,在阅读代码时可以从实现各个接口的controller入手。


    Diamond中的数据是简单的key-value结构。应用方订阅数据则是基于key来订阅,未订阅的数据当然不会被推送。数据从类型上又划分为聚合和非聚合。因为数据推送者可能很多,在整个分布式环境中,可能有多个推送者在推送相同key的数据,这些数据如果是聚合的,那么所有这些推送者推送的数据会被合并在一起;反之如果是非聚合的,则会出现覆盖。


    数据的来源可能是人工通过管理端录入,也可能是其他服务通过配置管理服务的推送接口自动录入。
    Diamond服务是一个集群,是一个去除了单点的协作集群。


    Diamond服务集群每一个实例都可以对外完整地提供服务,那么意味着每个实例上都有整个集群维护的数据。
    虽然Diamond去除了单点问题,不过问题都下降到了mysql上。但由于其作为配置管理的定位,其数据量就mysql的应用而言算小的了,所以可以一定程度上保证整个服务的可用性。


    由于Diamond服务器没有master,任何一个实例都可以读写数据,那么针对同一个key的数据则可能面临冲突。这里应该是通过mysql来保证数据的一致性。每一次客户端请求写数据时,Diamond都将写请求投递给mysql,然后通知集群内所有Diamond实例(包括自己)从mysql拉取数据。当然,拉取数据则可能不是每一次写入都能拉出来,也就是最终一致性。


    Diamond中没有把数据放入内存,但会放到本地文件。对于客户端的读操作而言,则是直接返回本地文件里的数据。

    ----------------------

    Cobar

    基于MySQL的分布式数据库服务中间件

    https://github.com/alibaba/cobar

    Cobar是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明。


    产品在阿里巴巴稳定运行3年以上。
    接管了3000+个MySQL数据库的schema。
    集群日处理在线SQL请求50亿次以上。
    集群日处理在线数据流量TB级别以上。

    关系型数据的分布式处理系统 Cobar

    Cobar是关系型数据的分布式处理系统,它可以在分布式的环境下像传统数据库一样为您提供海量数据服务。以下是快速启动场景:

    系统对外提供的数据库名是dbtest,并且其中有两张表tb1和tb2。
    tb1表的数据被映射到物理数据库dbtest1的tb1上。
    tb2表的一部分数据被映射到物理数据库dbtest2的tb2上,另外一部分数据被映射到物理数据库dbtest3的tb2上。

    Cobar使用文档(可用作MySQL大型集群解决方案)

    ----------------------

    beatles

    https://github.com/cenwenchu/beatles

    小规模即时流数据分析集群,分析规则抽象于SQL,计算规则采用MapReduce模式。

    --------------------------------

    综合

    淘宝开放平台技术历程

    =========================

    参考:http://www.oschina.net/project/alibaba

    展开全文
  • 您将要创造的 WooCommerce为您提供了一些关于... 这意味着我商店的访问者可以直接从主页选择产品,也可以通过单击产品类别档案来优化搜索。 但是,这种方法有一个缺点:它同时显示类别/子类别,而两者之间没有分...
    最终产品图片
    您将要创造的

    WooCommerce为您提供了一些关于可以在存档页面上显示的内容的选项:

    • 产品展示
    • 类别(在主商店页面上)或子类别(在类别页面上)
    • 产品和类别。

    设置商店时,通常会选择第三个选项:产品和类别/子类别。 这意味着我商店的访问者可以直接从主页选择产品,也可以通过单击产品类别档案来优化搜索。

    但是,这种方法有一个缺点:它同时显示类别/子类别,而两者之间没有分隔。 这意味着,如果您的产品图片的尺寸与产品图片的尺寸不同,则布局可能会显得有些混乱。 即使您的图片大小相同,但即使存档页面中的一行包含类别和产品,但由于缺少类别的“添加到购物车”按钮,该行看起来也不整洁,因为并非所有元素都具有相同的尺寸。

    在本教程中,我将向您展示在显示产品之前如何在单独的列表中显示类别。

    为此,我们将遵循四个步骤:

    1. 标识WooCommerce用于在存档页面上输出类别和子类别的代码。
    2. 为我们的代码创建一个插件。
    3. 编写一个将类别或子类别放在产品列表之前的函数。
    4. 设置输出样式。

    但是在开始之前,您需要安装WooCommerce,其中添加了一些产品,并设置了产品类别和子类别。

    您需要什么

    要继续进行,您需要:

    • WordPress的开发安装。
    • 代码编辑器。
    • WooCommerce已安装并激活。
    • 添加的产品-我已经导入了WooCommerce随附的虚拟产品数据; 有关如何执行此操作的详细信息,请参阅本指南
    • 激活了与WooCommerce兼容的主题,我正在使用Storefront

    开始之前:默认选项

    让我们看一下WooCommerce默认提供的功能。

    首先,我将一些图像添加到我的产品类别和子类别中,因为WooCommerce虚拟数据不包括这些图像。 我只是使用了每个类别或子类别中一种产品的图像,如您在屏幕截图中所见:

    WordPress管理员中的“产品类别”屏幕,添加了类别图像

    现在让我们看一下WooCommerce如何在归档页面中显示产品类别和产品。

    如果还没有,请转到WooCommerce>设置 ,选择“ 产品”选项卡,然后选择“ 显示”选项。 对于“ 商店页面显示”和“ 默认类别显示”中的每个选项,选择“同时显示两个”

    WooCommerce产品显示设置屏幕

    点击保存更改按钮以保存您的设置并访问您网站的商店页面。 我的看起来像这样:

    商店主页面没有任何变化

    碰巧的是,由于我有三个产品类别,并且类别图像与我的产品图像大小相同,因此看起来很整洁。 但是,这里是产品类别档案之一:

    音乐类别存档页面,无任何更改

    由于此类别有两个子类别,因此第一个产品将与它们一起显示在一个三项宽的网格中。 我想使我的类别和子类别更加突出,并简单地将它们与产品清单分开显示。 因此,让我们这样做。

    识别WooCommerce用于在档案中输出类别和产品的代码

    第一步是确定WooCommerce如何输出类别和子类别。 因此,让我们深入研究WooCommerce源代码以找到相关功能。

    WooCommerce用于显示存档页面的archive-product.phparchive-product.php ,它位于templates文件夹中。

    在该文件中,您可以找到以下代码,该代码输出类别和产品:

    <?php
        /**
    	 * woocommerce_before_shop_loop hook
    	 *
    	 * @hooked woocommerce_result_count - 20
    	 * @hooked woocommerce_catalog_ordering - 30
    	*/
    	do_action( 'woocommerce_before_shop_loop' );
    ?>
    
    <?php woocommerce_product_loop_start(); ?>
    
        <?php woocommerce_product_subcategories(); ?>
    
    	<?php while ( have_posts() ) : the_post(); ?>
    
    		<?php wc_get_template_part( 'content', 'product' ); ?>
    
    	<?php endwhile; // end of the loop. ?>
    
    <?php woocommerce_product_loop_end(); ?>

    因此,有一个woocommerce_product_subcategories()函数可在运行输出产品的循环之前输出类别或子类别。

    该函数是可插入的,这意味着我们可以在主题中覆盖它。 不幸的是,这并不完全有效,因为WooCommerce具有用于清除项目的内置样式,该样式将显示在默认显示的行的开头。

    因此,相反,我们将关闭归档页面上类别和子类别的显示,以便仅显示产品。 然后,我们将创建一个输出产品类别或子类别的新函数,并将其挂接到woocommerce_before_shop_loop动作,确保我们使用高优先级,以便在已经挂接到该动作的函数之后触发。

    注意:由于WooCommerce向每个第三个产品列表添加了woocommerce_product_subcategories() ,因此我们不能使用woocommerce_product_subcategories()函数或该函数的编辑版本来显示类别。 这是因为即使我们使用此功能分别显示类别,它也会清除列出的第三,第六(依此类推)类别或产品。 我们可以尝试重写它,但是只编写我们自己的函数会更简单。

    因此,让我们创建一个可以执行此操作的插件。

    创建插件

    在您的wp-content/plugins目录中,创建一个新文件夹并为其指定一个唯一名称。 我tutsplus-separate-products-categories-in-archives称我的tutsplus-separate-products-categories-in-archives 。 在其中创建一个新文件,再次使用唯一的名称。 我使用的是相同的名称: tutsplus-separate-products-categories-in-archives.php

    打开文件并添加以下代码:

    <?php
    /**
     * Plugin Name: Tutsplus display WooCommerce products and categories/subcategories separately in archive pages
     * Plugin URI: https://code.tutsplus.com/tutorials/woocommerce-display-product-categories-subcategories-and-products-in-two-separate-lists--cms-25479
     * Description: Display products and catgeories / subcategories as two separate lists in product archive pages
     * Version: 1.0
     * Author: Rachel McCollin
     * Author URI: http://rachelmccollin.co.uk
     *
     *
     */

    您可能要编辑作者详细信息,因为这是您正在编写的插件。 保存文件并通过WordPress管理员激活插件。

    编写我们的功能

    现在让我们编写函数。 但在开始之前,请在管理屏幕中关闭类别列表。 转到WooCommerce>设置 ,选择“ 产品”选项卡,然后选择“ 显示”选项。 对于每个商店页面显示默认类别显示选项,选择显示产品 。 保存您的更改。

    您的商店页面现在将如下所示:

    仅显示产品的主商店页面

    在您的插件文件中,添加以下内容:

    function tutsplus_product_subcategories( $args = array() ) {
        
    	}
    }
    add_action( 'woocommerce_before_shop_loop', 'tutsplus_product_subcategories', 50 );

    现在,将以下代码添加到函数中:

    $parentid = get_queried_object_id();
        	
    $args = array(
    	'parent' => $parentid
    );
    
    $terms = get_terms( 'product_cat', $args );
    
    if ( $terms ) {
    		
    	echo '<ul class="product-cats">';
    	
    		foreach ( $terms as $term ) {
    						
    			echo '<li class="category">';					
    					
    				woocommerce_subcategory_thumbnail( $term );
    				
    				echo '<h2>';
    					echo '<a href="' .  esc_url( get_term_link( $term ) ) . '" class="' . $term->slug . '">';
    						echo $term->name;
    					echo '</a>';
    				echo '</h2>';
    																	
    			echo '</li>';
    																	
    
    	}
    	
    	echo '</ul>';
    
    }

    让我们看一下该函数的作用:

    • 它标识当前查询的对象,并将其ID定义为$parentid
    • 它使用get_terms()来标识以当前查询的项为其父项的项。 如果这是商店的主要页面,它将返回顶级类别;否则,它将返回顶级类别。 如果这是类别档案,它将返回子类别。
    • 然后,它在打开foreach循环和ul元素之前检查是否有任何条件。
    • 对于每个术语,它创建一个li元素,然后使用woocommerce_subcatgeory_thumbnail()输出类别图像,然后在指向其档案的链接中输出类别名称。

    现在保存您的文件并刷新主商店页面。 我的看起来像这样:

    主商店页面-类别是单独的,但太大,并且带有列表样式项目符号等

    显示了类别,但是它们需要一些样式。 接下来,让我们开始。

    样式分类列表

    为了添加样式,我们需要在插件内部添加样式表,我们需要将其排入队列。

    在您的plugin文件夹中,创建一个名为css的文件夹,并在其中创建一个名为style.css的文件。

    现在,在您的插件文件中,将其添加到您已经创建的函数上方:

    function tutsplus_product_cats_css() {
    
        /* register the stylesheet */
        wp_register_style( 'tutsplus_product_cats_css', plugins_url( 'css/style.css', __FILE__ ) );
        
        /* enqueue the stylsheet */
        wp_enqueue_style( 'tutsplus_product_cats_css' );
        
    }
    
    add_action( 'wp_enqueue_scripts', 'tutsplus_product_cats_css' );

    这可以使刚创建的样式表正确入队。

    现在打开样式表并添加以下代码。 WooCommerce使用移动优先样式,这也是我们将要使用的样式。

    ul.product-cats li {
        list-style: none;
    	margin-left: 0;
    	margin-bottom: 4.236em;
    	text-align: center;
    	position: relative;
    }
    ul.product-cats li img {
    	margin: 0 auto;	
    }
    
    @media screen and (min-width:768px) {
    
    	ul.product-cats {
    		margin-left: 0;
    		clear: both;
    	}
    	ul.product-cats li {
    		width: 29.4117647059%;
    		float: left;
    		margin-right: 5.8823529412%;
    	}
    	ul.product-cats li:nth-of-type(3) {
    		margin-right: 0;
    	}
    	
    }

    我已经从WooCommerce使用的样式中复制了确切的宽度和边距。

    现在,再次检查您的主要商店页面。 这是我的:

    商店的主要页面类别是上述产品,并且在网格中样式一致

    这是音乐类别存档:

    音乐档案两个子类别位于3个广泛的产品网格上方

    这是在较小的屏幕上的外观:

    较窄屏幕上的类别全屏不在网格中

    摘要

    产品类别是WooCommerce的一项重要功能,但是显示方式并不总是理想的。 在本教程中,您学习了如何创建一个与产品清单分开输出产品类别或子类别的插件,然后为类别清单设置了样式。

    通过将函数挂钩到WooCommerce模板文件中的其他动作挂钩,可以使用此代码在页面上其他位置(例如,产品下方)输出类别或子类别的列表。

    如果您目前正在经营一家想要扩展的商店,或者正在寻找与WooCommerce相关的其他插件,请随时查看Envato Market中提供哪些插件。

    翻译自: https://code.tutsplus.com/tutorials/display-woocommerce-categories-subcategories-and-products-in-separate-lists--cms-25479

    展开全文
  • 《幕后产品》是前网易云音乐副总裁王诗沐老师结合自己多年的产品实战经验所著。记录了诗沐老师多年的产品心路历程,就像翻开云音乐的评论一样,或感同身受,或遐想翩翩,或豁然开朗。对于云音乐的用户研究,个性推荐...

    《幕后产品》是前网易云音乐副总裁王诗沐老师结合自己多年的产品实战经验所著。记录了诗沐老师多年的产品心路历程,就像翻开云音乐的评论一样,或感同身受,或遐想翩翩,或豁然开朗。对于云音乐的用户研究,个性推荐、UGC以及社交等模块架构的思考与决策过程,书本中都进行了深入的解答。

    读这本书的原因是之前在网易有道实习过一段时间,后来看罗源老师的朋友圈分享这本书觉得必须要读一读,在本书序的部分发现作者还是一个资深的传统文化爱好者,这一点让我与王不期而遇,接下来结合大家一起解剖一下这本书!

    书籍以及资料下载:https://download.csdn.net/download/julialove102123/11389894

    书中从产品经理所具备的素质、思维方式、基本功、方法论等方面从浅入深地进行了探讨。

    Tips:

    阅读传统文化书籍,如王阳明《传习录》;

    涉猎多个行业,如市场、用户、产品、设计、技术、商业、运营、心理学、美学等,包罗万象;

    把玩新奇的APP;

    多阅读与眼界、商业等有关的书,少读与产品入门类书;保持终身学习

    第一章 产品经理基本素质

    • 创业
    • 求知
    • 联想:洞察能力、归纳能力、联想能力;如:网易云音乐的黑胶唱片;
    • 善断:做判断时注意要抓住重点、不追求完美、有实验心态。如:网易云音乐的导入歌单功能;

    第二章 全面了解用户

    1. 亲力亲为研究用户

    如:网友云音乐pm对电子音乐的用户研究亲力亲为;

    2. 用户研究方法:

    • 深入访谈:陪聊是产品经理了解用户的最佳途径
    • 焦点小组:避免为了附和、面子说假话
    • 问卷调查
    • 可用性测试:请用户实际使用产品或 demo
    • 留置研究:用户在实际场景里长时间使用得出,用户在这过程记录自己感受并回答调研问题

    重点考虑

    • 1)是否为典型用户;
    • 2)信息是否真实;
    • 3)如何将用研结论用到产品设计中:用户研究 + 市场和竞争对手分析 + 产品自身优劣势分析 = 最优解

    如:网易云音乐研究用户发现音乐的方式

    总结:用户研究反映出的结果并不是最真实的,比如通过用户研究发现用户发现音乐的主流方式是搜索和排行榜,但是由于搜索是比较老套的方式,且排行榜有一定程度的广告水分在里面,相比之下用户的力量是巨大的,反倒是朋友间的推荐,音乐达人推荐存在更大潜在的市场和可能。这就运用到系统思维和对产品的思考。

    3. 快速划分用户群:能更好的理解产品的目标用户和市场竞争情况;

    作用

    • 理解产品目标用户
    • 理解市场竞争情况

    包括

    • 有哪几类用户群?
    • 用户群有哪些特点?大致数量是多少?
    • 竞争对手覆盖了哪些用户群?
    • 哪个细分领域是市场空白?先做哪个用户群,再做哪个用户群?

    快速划分用户群的方法:

    1)通过定性访谈,分析出划分用户群的因子;

    如:网易云音乐,通过用户研究得出两类因子:基本的人口属性(性别、年龄、教育程度、职业等)、垂直领域属性(音乐喜好程度);

    2)利用因子划分用户群;

    如:网易云音乐

    网易云音乐的竞争对手覆盖的用户群:

    • QQ音乐:背靠qq平台,用户相对年轻;
    • 酷狗音乐:pc端起步,用户年龄相对较大;
    • 酷我音乐:同上
    • 天天动听:主打音质,用户粘性好;
    • 虾米音乐:定位高端用户,曲库全,小众音乐圈子,比豆瓣音乐用户年纪稍大;
    • 豆瓣音乐:小清新用户;
    • 多米音乐:移动端产品、高音乐口味;

     

     3)通过问卷调查来验证

    需要考虑的问题:

    • 问卷的目标用户和投放渠道:每一个类别的用户群都需要足够多的样本,最好不低于 50 个,渠道是否匹配要调研的用户群
    • 问卷大纲:尽可能全面列出要通过问卷获得的结论
    • 问卷题目的设计:数量要少、顺序很重要、文案要精简、选项不要过多、尽量让用户做选择题且控制开放题的数量;

    下面是产品经理不同阶段应该具备的能力,可以作为我们的职业能力自查表。

    4. 洞察心理和人性:洞察用户心理可以满足用户深层次的需求

    共鸣

    • 企鹅智酷曾经做过调研 5% 的用户有音乐评论的需求(而网易云音乐有半数活跃用户每天参与音乐评论)
    • 音乐评论的共鸣心理:每个人都需要情感共鸣、每个人都有过去的经历
    • 现在年轻人的内心深处越来越孤独(长期竞争压力大的产物)
    • 洞察用户心理可以满足用户深层次的需求,用户会觉得产品懂他,会有情绪上的波动,成为知己,成为朋友

    爱现

    • 每个人都有,但付出的努力程度不同
    • 求之而不得,则会贪慎痴。(要分散满足和延长满足用户爱现心理,网易云音乐把首页演化为个性化推荐,降低资源集中度;同时把成就体系设置成隐形,因为不希望这规则变成大家竞相去努力的准绳,变成贪慎痴过程没有意义的数字)
    • 人总有疲惫的一天。(对于普通人,一个兴趣坚持三五年就不容易,坚持十年就是专家,坚持数十年则会得道)

    5 .群体用户心理

    为什么锤子手机创立时强调情怀看到 iPhone 成为街机,总有人要与众不同。锤子手机选择了有经济示例】30岁左右、开始怀旧、陪罗永浩一起成长起来的男性白领人群。

    爱现和共鸣都建立在群体之上。要站在群体角度,思考一群人的特点,思考如果群体壮大会出现什么样的情况。

    群体心理的体会:

    • 1、群体极化:在群体中的个体面临选择、需要决策的时候,往往会选择和群体中其他人一致的做法。单个用户的矛盾不会持续太久,规模和群体行为会持续好几天,群体中,个体出现极端情况的概率提高,犯错成本降低,极端情况反而证明自己对群体的归属感
    • 2、向心力越强,群体越紧密:对意见领袖采取强运营策略。比如米粉节,微博论坛不断突出资深硬件玩家;持续中投入品牌营销,让自己品牌成为互联网上讨论的热门话题;品牌营销和价值观输出捆绑。

    • 3、适当允许不同群体间发生矛盾:不同群体间的矛盾和竞争时,群体内部会更加团结;网易云音乐由于个性化推荐系统,让不同口味的用户进入不同的内容场景,一般较少发生群体矛盾
    • 4、留住群体中的意见领袖

    做到以下事情有助于留住群体中的意见领袖。

    • 通过数据分析及运营人员经验识别出意见领袖。
    • 观察意见领袖的活跃、留存,设计预警机制。
    • 与意见领袖点对点沟通,了解他们满意度。
    • 不要树立价值观与产品不符的意见领袖。
    • 让意见领袖参与社区产品运营,但不能让他们产生骄矜之心。
    • 设计源源不断产生新的意见领袖的机制,当有人离开时能有其他人补上,这样群体、社区就不会产生大的动荡。
    • 永远不要让任何一个群体的意见领袖的影响力超出或接近社区本身。

    如:网易云音乐评论突然火起来的原因;

    6. 从一个产品的用户到一片产品的用户

    • 培养同理心
    • 设身处地想,创造性想法往往不会直接来自用户
    • 发展多方面的兴趣,多出门食人间烟火
    • 玩 RPG 网游,短时间体验人生
    • 从垂直到普适是个漫长的过程

     

    总结

    针对产品经理的能力树,笔者结合书本与自己的思考按底层、中层与顶层将其划分三个层次的能力(图0-5所示),本文也将按照这个逻辑进行展开。

    一.底层能力

    底层就如同房屋的地基,地基决定了“房子”能够建多高,底层决定着产品经理在职业上能走多远。底层能力对日常工作中的思考,决策,执行等起到关键性作用。一个人怎么去想事情,怎么去做事情,往往都来自于底层能力。

    (1)三观

    三观的重要性不言而喻,它决定着你是成为灭霸还是复仇者。在工作中面临问题时,很多决策会是三观的自然表现,比如你是集体主义者,你会想到集体利益为先,你若是个人主义者,往往会先考虑个人利益。

    (2)思维结构

    百度百科给出的定义是:思维结构主体能动认识世界所建立的概念、判断、推理的框架及其相互连结、转换和互动的形式。

    思维结构决定了你是用什么系统去加工信息,是否具有开放性。书中使用操作系统和CPU来进行了比喻,很是形象。封闭性的思维结构会让人难以去容纳新的东西,一个不恰当的比喻,“极端宗教分子”可以看成典型的封闭性思维结构。思维结构的不同,对于同一种信息处理的速度与结果也会有天壤之别,比如大米放进面粉机内出来是面粉,放进电饭锅内出来的是米饭。

    (3)思维方式

    关于思维方式,书中给出了四种思考方式,分别是往重点思考、往本质思考、往上层思考以及往不同思考。虽然看似简简单单的四种思考方式,能做到其实比翻越千重山还难。笔者作为工业设计出身,设计行业的思考方式按理说应该是更与众不同的,其实设计师们也很难完全做到这一点。所以能做到这四种思考方式的人已然是大神级别的人物了。

    往重点思考:在产品经理的工作中会面临纷繁复杂的信息需要去处理,我们需要往重点上思考,书中将思考分为三个环节,分别是思考关键目标、思考关键行动以及思考关键依赖,最后权衡出重点。找出产品所处阶段要解决的问题的关键点,重点去解决关键点。

    往本质思考:我们容易看到事物的表象,当发现了事物的本质,我们可能会豁然开朗,知道了它是如何运转的,并加以利用。比如对于音乐,人类为什么需要音乐?人类创造音乐是为了解决什么问题?(去发现人类行为心理的本源,笔者又忍不住安利一下赫拉利的《人类简史》了,可以说这是本往本质上思考的著作)

    往上层思考:书中从看上层的格局和眼界、思考上层与本层之间的逻辑关系、想象未来的可能性来诉说我们该如何去往上层思考很多时候我们会“不识庐山真面目,只缘身在此山中”,登到山顶才能有“一览众山小”。

    往不同思考:书中是从客观地思考不同、逆向思考、捕捉创新三个要点来讲解如何去思考不同。世界上的道路千千万万的人走过,很多产品也是一片红海,往不同思考我们才能走出差异化,发现新大陆。

    (4)基本素质

    在基本素质中,书中给出了创业、求知、联想、善断这四种素质。具体的见解,我们可以从书中去发掘,这里只把创业稍作描述。作为产品经理为什么需要有一种创业心态?因为创业需要背负很多担子,对于个人的要求是苛刻的,没有极大的自驱能力是难以负重前行的。创业心态意味着你需要具有主动性、责任心、抗压能力、领导力以及拼搏精神等,这些都是产品经理在工作中所需要具备的能力。“不想当将军的士兵不是好士兵。”

    二.中层能力

    中层能力可以说是产品经理之术,是产品经理需要具备的基本职业技能。从用户研究、需求分析、架构能力到运营意识、数据以及编程等等都是我们需要掌握或侧重了解的点。

    (1)用户研究

     

    图2-1 用户研究体系 (图片来源:笔者自绘)

    笔者将用户研究归纳为一套体系,如图所示2-1,它是由研究主体、用户群分、用户研究方法矩阵、信息真伪约束、研究结论及结论的应用所组成。

    用户研究始于亲力亲为,只有真正了解了用户才能想用户之所想。由于一个产品面向的用户可能会有很多不同的群体,如果不亲自了解而只停留在研究数据上,很难真切地体会到用户的感受。这也是为什么产品经理职业一直在强调同理心的原因吧。笔者当时在参与上海某病研究所60周年庆的物料设计时,由于是第一次去做医院的物料设计,对医生群体的审美要求是陌生的(除了白大褂庄严的形象外)。调研时可以看到医院的物料一般都不好看,交流的过程中发现,他们的审美和设计师甚至普通人不一样,他们不喜欢过多的装饰,也不喜欢错乱感,而是整齐划一,工工整整的感觉。一方面是由于他们所从事的职业导致的审美习惯,另一方面是表达出医院专业严谨的态度。很多时候,我们是与我们的用户脱离的,不亲力亲为去洞察,就难以了解背后真正的原因。

    那么该如何去做用户研究呢?

    用户研究的内核为用户研究方法矩阵,结合特定的用户研究方法,比如焦点小组、问卷调查、可用性测试、眼动分析以及行为分析等,通过从定性到定量,从用户态度到用户行为,进行合目的性的用户研究。

    除了研究方法外,对于用户群分的科学与否,也是能否得出有用研究结论的关键。《幕后产品》中通过因子划分的方法将用户进行群分。因子归类为两个维度:基本的人口属性和垂直领域属性(在某方面的喜好程度)。用户群分与用户研究方法矩阵是互相促进的,划分出用户群来进行用户研究,同时研究结果也会修正用户群。

    此外,为了保证研究结果具有真实性,在进行研究时必须要判断信息是否真实有效。例如:用户是否是典型的目标用户,挖掘到的信息是否真实等等。只有保证信息的真实性,才能防止得出错误的研究结论。

    通过有效的用户研究数据,可以得出基本的研究结论,从而挖掘出用户需求所在。研究的最后便是如何将这些结论应用到产品的设计当中,这也是研究的根本目的。云音乐是怎么将挖掘出的“推荐需求”,应用到产品设计当中的,从而吸引了千千万万的痴迷用户,在书本中大家可以寻找到诗沐老师的详细解答。

    (2)需求分析

     

    图2-2 需求分析链路(图片来源:笔者自绘)

    一条完整的需求分析链路是从需求的收集到最后的需求优先级确定的过程。

    需求收集的来源需要全面深入。其实产品工作中时常会遇到诸多需求,有来自竞品、行业、市场的分析,也有来自各个渠道的用户反馈、其他前线部门的反馈等。多渠道的需求来源保证了需求全面深入,但同时也使需求纷繁复杂,因此对需求进行分类梳理,进行有效管理便显得十分重要了。需求收集后需要根据实际需要进行分类梳理,比如产品的业务线,产品的发展阶段规划等。对需求的分类梳理其实也体现着产品经理的管理与架构能力。

    当面对诸多需求的时候,对需求进行处理后才能辨别真伪以及需求的本质。书中关于需求的处理大致可以归纳为角色、场景、流程以及动机。

    角色:对同一个功能,不同角色的需求不一致。

    场景:分析需求真实发生的场景,考虑实际情况。

    流程:分析满足需求的关键路径,判断能否满足。

    动机:需求的背后用户真正的目的。

    把需求进行处理后,可以判断出哪些是真需求,哪些是伪需求,同时可以更清晰地描绘出需求的本来样貌,需求变得有血有肉,不再是冷冰冰的几个字(而我们工作中经常遇到的需求只是冷冰冰的几个字)。处理完需求,对于真实需求,我们需要从产品目标用户目标两个方面来评估需求可能带来的影响。去洞察需求带来的影响,需要产品经理具有深厚的洞察能力。例如:需求是否会给未来带来影响,是否会给其他功能带来影响,是否能对用户产生促进作用等等。对于需求产生的影响,在市面上这么多书和文章中都很少谈到,确实对于影响的判断需要深厚的产品功力与洞察能力。在《幕后产品》中可以看到诗沐老师分析网易云音乐为什么没做场景电台以及它对产品发展所产生的影响,还是蛮意外与惊喜的。好的产品不是需求的堆砌物,只有评估出需求带来的影响,才能更好地利用我们手中的“奥卡姆剃刀”。

    评估了需求的影响,不同需求的重要程度基本清晰,结合开发难易,紧急情况等将需求进行优先级确定,通常可以用到的有KANO模型法、四象限法、ROI(投资回报率)最大化等。这样整个需求分析的链路基本完成,我们对需求的理解也更加深刻了。

    (3)架构能力

    架构能力,对于产品经理来说是重要的职业能力。不论是信息架构,产品架构还是业务架构,都是在处理系统内各个要素之间关系的问题。对于架构,书本中从分类聚合、用户流程以及互相配合这几个要素来考虑架构之间的关系,同时辅助思考架构的要点,比如用户易理解、高效易用、尽量简洁以及扩展性强等。笔者在以前的文章“产品三观”中有过对架构的阐述,纸上得来终觉浅,当然如果需要有更深入的体会,可以打开网易云音乐,翻开《幕后产品》,去思考其中的架构逻辑。

    (4)运营意识

    正如天下父母都望子成龙一样,产品经理总不能“只生孩子,不养孩子”吧。运营意识也会让我们与用户走得更近,提升对商业的感觉,而不是唱着我们自己的独角戏,看不到场下的观众。书本中从三个方面来讲解作为产品经理如何去经营产品:经营用户流量,经营资源与经营价值链。

    经营用户流量:1.思考用户是谁,研究他们在哪里。战术上抓住重点目标用户,知道他们是谁、在哪里,并且有清晰有效的利益点和方法吸引用户。

    2.寻找热点机遇,赚取流量红利。能够抓住互联网上出现的热点或者制造热点话题,吸引大众注意力。这种对热点的把控需要敏锐的洞察能力,把握受众的心理机制。

    3.裂变传播 ,关注层出不穷的裂变玩法,掌握传播机制,当然对于了解用户热衷于分享什么也是至关重要。

    经营资源:资源往往是有限的或者是不易察觉的。首先要做到识别可能存在的资源,包括流量、资金、品牌、团队、合作伙伴以及竞争对手等等。其次我们需要能够整合资源,让能利用的资源产生1+1大于2的效果。在资源的运用过程中,要拥有资源投入/产出的意识,评估投资回报率,多线资源经营(避免将鸡蛋放在一个篮子里)。

    经营价值链:找出产品上存在的上下游价值链,分析思考价值链的各个环节,用降低成本提高效率的意识去经营价值链上的环节(图2-3所示)。

     

    图2-3 价值链(图片来源:幕后产品)

    (5)辅助能力

    除了一些常规的职业技能外,外延的一些辅助能力能够帮助我们更好的完成产品的工作,比如数据分析,编程能力,审美能能力等,这些能力既能帮助我们更好地进行团队沟通与交流,也能提升我们的产品分析与设计能力,因此在掌握基本产品技能外,了解辅助技能会显得十分必要。

    三.顶层能力

    大多数人都会遇到自己的职业瓶颈,能否让自己的职场更上一层,顶层的能力是至关重要的。当我们经过中层的职业训练,对于产品设计基本能够游刃有余,在这个过程中我们也在慢慢积累着顶层能力,对商业的嗅觉,对战略设计的了解甚至整个产品及市场的统筹部署能力。只有站得高才能看得远,此时我们的眼光不能仅停留在点上,而是扩展成线,最终成为一张大网。由于笔者工作经验有限,对于顶层的能力也在不断学习中,所以还是需要慢慢去消化书中相关知识。笔者认为关键的一点还是终身学习,正如书中所说“产品之路时学时新”,共勉之。

    小结:《幕后产品》从思维层到方法论均进行了相关讲解,特别是书中大量关于云音乐的相关案例和思考,让人可以不断揣摩学习。时学时新,产品的学习之路没有终点,那就不断欣赏旅途中的美景吧。

     

    推荐读物

    1. 王阳明《传习录》
    2. 《定位》
    3. 《设计心理学》
    4. 《情感化设计》
    5. 《用户体验要素》
    6. 戴维迈尔斯《社会心理学》

     

    参考阅读:https://jinkey.ai/post/product/wang-yi-yun-yin-le-qian-fu-zong-cai-jiao-ni-ru-he-zuo-chan-pin-mu-hou-chan-pin-du-shu-bi-ji

    展开全文
  • 1 B 端产品经理 如何理解B端产品? B端产品主要分为两大类: 为公司的管理服务,如:HR系统、OA系统; 为公司的运营服务,如:供应链系统、ERP系统的。 B端产品即要符合商业组织的战略要求,能够满足商业用户...
  • 互联网产品灰度发布

    万次阅读 2016-05-30 14:37:39
    互联网产品灰度发布   关于2016年5月15日,DevOps成都站|架构与运维峰会活动总结 1. 前言 2 2. 灰度发布定义 5 3. 灰度发布作用 5 4. 灰度发布步骤 5 5. 灰度发布测试方法 6 6. 灰度发布引擎 6 7. 灰度...
  • 产品读书《人人都是产品经理 1.0》

    千次阅读 2018-08-07 17:09:50
    1 写给-1到3岁的产品经理 1.1 为什么要做产品经理 坏产品无处不在:垃圾桶、路标、盲道、洗手间的门、 好产品能改变世界:马桶 1.2 我们到底是不是产品经理 产品:用来解决某个问题的东西。...
  • 人脸识别应用概览及其技术、产品厂商一览   人脸识别概述   概念 人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪...
  • MySQL错误(报错)一览表(对照表)

    千次阅读 2020-08-11 22:05:27
    01127 访问硬盘时,磁盘操作失败,再试一次后仍没有作用。 01128 访问硬盘时,需要重启动磁盘控制器,但仍未成功。 01129 磁带已卷到尽头。 01129 连接数据库失败,没有连接数据库的权限 01130 可用的服务器存储区...
  • 应用说明:该程序采用输入药物的名称,并返回与输入药物相互作用的药物名称列表,以及相互作用的严重程度以及来自DrugBank数据库和ONCHigh数据库的相互作用描述。 本产品使用来自美国国家医学图书馆(NLM),美国...
  • 猫眼产品分析

    千次阅读 2015-12-23 15:21:42
    (1)猫眼电影的产品定位? (2)猫眼电影产品设计及运营中有哪些亮点和策略? (3)产品以后的迭代方向? 二、产品定位及运营 产品定位主要围绕以下几个方面展开: (1)产品概述及发展历程 (2)产品...
  • 书接上回:技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一) 讲完一个产品的艰难生产之路,我们还要回到产品的源头,如何开发一个可以开源的产品。尤其对于现在已经既定规则既定圈子的管理软件行当...
  • wxWidgets类一览表(整理中...)

    千次阅读 2017-10-28 17:32:37
    作用 wxTopLevelWindow 任意的顶层窗口,dialog或frame wxDialog 对话框 wxFrame 通用的frame wxMDIChildFrame MDI(多文档界面)child frame wxMDIParentFrame MDI par
  • 否则,一个软件公司,它的生存与发展就是靠软件产品,除此之外没有别的收入来源,那么作为负责产品的人再觉得没有责任思考这个关乎公司盈利与发展的问题,那么要把这个问题甩给天天忙销售忙资金忙公司管理的老板么?...
  • 2015年11月23日国务院发布《关于积极发挥新消费引领作用加快培育形成新供给新动力(310328,基金吧)的指导意见》提出,支持发展消费信贷,鼓励符合条件的市场主体成立消费金融公司,将消费金融公司试点范围推广至全国...
  • websphere管理控制台作用域设置

    千次阅读 2012-12-14 16:40:10
    如果作用列表中的作用域不足 50 个,控制台就会显示所有可用作用域的下拉列表。要更改作用域,请从下拉列表中选择任何项。 如果作用列表中的作用域达到或超过 50 个,则单击字段旁边的浏览以查看用于更改字段
  • 原型和Axure的作用

    千次阅读 2014-09-07 10:38:18
    原型和Axure的作用       宇宙奇点(237***942) 21:00:31  最近可能要做产品经理相关工作,要在获得大致项目需求后用软件工具实现产品原型开发。。业内有专家提议用流行软件的Axure做,但...
  • 汽车电子产品分类

    千次阅读 2012-02-13 21:29:44
    随着汽车工业的发展和消费者不断提高的期望,使得各家厂商更加注重提高汽车安全性、减低能耗、改善舒适性和增加娱乐及辅助功能,以提高汽车产品的竞争力。在这个过程中汽车电子化的程度越来越高,电子模块也越来越多...
  • 2015年11月23日国务院发布《关于积极发挥新消费引领作用加快培育形成新供给新动力(310328,基金吧)的指导意见》提出,支持发展消费信贷,鼓励符合条件的市场主体成立消费金融公司,将消费金融公司试点范围推广至全国...
  • urlencode在url中的作用

    2019-09-21 20:20:43
    urlencode编码能解决特殊字符的传输问题。...TPlastic,在产品列表中就产生了这样的一个联接<ahref="product.asp?name=A&TPlastic">A&TPlastic</a>,在服务器端接收此参数的时...
  • Gradle的作用

    千次阅读 2017-01-04 11:13:06
    比如我们要自定义编译出的apk包的名字、对于一些特殊产品我们可能会要用同一个项目编译出 免费版 和 付费版 的apk。这些高级的功能都需要我们对配置代码进行自定义地修改。 最近伴随着 Android Studio2.0的...
  • Linuxbootloader和kernel的作用

    千次阅读 2013-01-05 14:56:52
    BSP是板级支持包(Board Support Package)...BSP的作用是支持操作系统,使之能够更好的运行于硬件平台。BSP是相对于操作系统而 言的,不同的操作系统对应于不同定义形式的BSP,包括Windows CE、Linux、Vxworks等。
  • 最近想了解一下如何进行项目管理,虽然不是100%纯项目管理人员,但是作为产品经理,我认为了解项目管理对自己的工作也有推动作用,和技术同志沟通也更加顺畅,想人所想急人所急~~本书主要写的是网易杭州研究院三年多...
  • 其实每一个产品经理的内心深处,都有着一颗文艺青年的心灵,也正是拥有了这样一颗感受丰富、体验细腻的产品之心,才使得我们能够对产品设计的细节有着更为透彻和深入的理解。
  • 建立视图和存储过程到底能有什么作用和方便之处 首先视图可以将不同中的数据通过关联实现多数据输出,比如说,有一个类型 uType,有字段tId,tName,有个产品表 uProduct,有字段pId,pName,tId,此时你可以...
  • 互联网时代产品研发的思考

    千次阅读 2018-03-27 23:07:12
    传统软件企业向互联网企业的转型2005年我提出将公司CRM产品向SaaS化发展的战略时,很多人都认为那是一个巨大的冒险,而如今已经没有人再质疑传统软件向SaaS化发展的趋势。很多决心向互联网产品转型的企业,都会遇到...
  • 经历过需求的采集、分析和筛选,我们对产品的定位和用户的需求有了越来越深刻的认识,对整个产品方向的把控和版本迭代节奏也会更有感觉。这种感觉你也可以称之为“产品感”,虽然讲得有点悬乎,可又的确存在。以我...
  • 互联网产品经理必备文档介绍

    千次阅读 2017-04-20 22:20:35
    这是产品声明周期中最早的问的文档,再早就应该是脑中的构思了,其内容涉及市场分析,销售策略,盈利预测等,通常是和老大们过的ppt,所以也就比较短小精炼,没有产品细节。商业需求文档重点放在定义项目的商业需求...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,594
精华内容 49,837
关键字:

产品列表的作用